- 02 Mar, 2017 16 commits
-
-
2017-03-02 Richard Biener <rguenther@suse.de> * fold-const.c (const_binop): Use ulow () instead of elt (0). From-SVN: r245841
Richard Biener committed -
re PR tree-optimization/79345 (passing yet-uninitialized member as argument to base class constructor should warn (-Wunitialized)) 2017-03-02 Richard Biener <rguenther@suse.de> PR tree-optimization/79345 PR c++/42000 * tree-ssa-alias.c (walk_aliased_vdefs_1): Take a limit param and abort the walk, returning -1 if it is hit. (walk_aliased_vdefs): Take a limit param and pass it on. * tree-ssa-alias.h (walk_aliased_vdefs): Add a limit param, defaulting to 0 and return a signed int. * tree-ssa-uninit.c (struct check_defs_data): New struct. (check_defs): New helper. (warn_uninitialized_vars): Use walk_aliased_vdefs to warn about uninitialized memory. * fixed-value.c (fixed_from_string): Use ulow/uhigh to avoid bogus uninitialized warning. (fixed_convert_from_real): Likewise. * g++.dg/warn/Wuninitialized-7.C: New testcase. * c-c++-common/ubsan/bounds-2.c: Add -Wno-uninitialized. * gcc.dg/uninit-pr19430-2.c: Add expected warning. From-SVN: r245840
Richard Biener committed -
2017-03-02 Thomas Koenig <tkoenig@gcc.gnu.org> Jakub Jelinek <jakub@redhat.com> * m4/matmul.m4 (matmul_'rtype_code`): Avoid race condition on storing function pointer. * generated/matmul_c10.c: Regenerated. * generated/matmul_c16.c: Regenerated. * generated/matmul_c4.c: Regenerated. * generated/matmul_c8.c: Regenerated. * generated/matmul_i1.c: Regenerated. * generated/matmul_i16.c: Regenerated. * generated/matmul_i2.c: Regenerated. * generated/matmul_i4.c: Regenerated. * generated/matmul_i8.c: Regenerated. * generated/matmul_r10.c: Regenerated. * generated/matmul_r16.c: Regenerated. * generated/matmul_r4.c: Regenerated. * generated/matmul_r8.c: Regenerated. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r245839
Thomas Koenig committed -
2017-03-02 Richard Biener <rguenther@suse.de> PR c/79756 * c-common.c (c_common_mark_addressable_vec): Look through C_MAYBE_CONST_EXPR. * gcc.dg/vector-1.c: New testcase. From-SVN: r245838
Richard Biener committed -
PR tree-optimization/66768 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Skip addr iv_use if base object can't be determined. gcc/testsuite * gcc.target/i386/pr66768.c: New test. From-SVN: r245837
Bin Cheng committed -
2017-03-02 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/78379 * m4/matmul.m4: (matmul_'rtype_code`_avx2): Also generate for reals. Add fma to target options. (matmul_'rtype_code`): Call AVX2 only if FMA is available. * generated/matmul_c10.c: Regenerated. * generated/matmul_c16.c: Regenerated. * generated/matmul_c4.c: Regenerated. * generated/matmul_c8.c: Regenerated. * generated/matmul_i1.c: Regenerated. * generated/matmul_i16.c: Regenerated. * generated/matmul_i2.c: Regenerated. * generated/matmul_i4.c: Regenerated. * generated/matmul_i8.c: Regenerated. * generated/matmul_r10.c: Regenerated. * generated/matmul_r16.c: Regenerated. * generated/matmul_r4.c: Regenerated. * generated/matmul_r8.c: Regenerated. From-SVN: r245836
Thomas Koenig committed -
* config/i386/gthr-win32.h: Define NOGDI before windows.h include to prevent w32api CC_NONE macro clash with libgfortran. From-SVN: r245835
Jonathan Yong committed -
* unwind-seh.c: Suppress warnings for RtlUnwindEx calls. From-SVN: r245834
Jonathan Yong committed -
re PR tree-optimization/79345 (passing yet-uninitialized member as argument to base class constructor should warn (-Wunitialized)) PR tree-optimization/79345 * gensupport.h (struct pattern_stats): Add min_scratch_opno field. * gensupport.c (get_pattern_stats_1) <case MATCH_SCRATCH>: Update it. (get_pattern_stats): Initialize it. * genemit.c (gen_expand): Verify match_scratch numbers come after match_operand/match_dup numbers. * config/i386/i386.md (<s>mul<mode>3_highpart): Swap match_dup and match_scratch numbers. * config/i386/sse.md (avx2_gathersi<mode>, avx2_gatherdi<mode>): Likewise. * config/s390/s390.md (trunctdsd2): Likewise. From-SVN: r245833
Jakub Jelinek committed -
2017-03-02 Richard Biener <rguenther@suse.de> * gcc.dg/rtl/x86_64/dfinit.c: Only run for lp64. * gcc.dg/rtl/x86_64/final.c: Likewise. * gcc.dg/rtl/x86_64/into-cfglayout.c: Likewise. * gcc.dg/rtl/x86_64/ira.c: Likewise. * gcc.dg/rtl/x86_64/times-two.c.after-expand.c: Likewise. * gcc.dg/rtl/x86_64/vregs.c: Likewise. From-SVN: r245832
Richard Biener committed -
2017-03-02 Richard Biener <rguenther@suse.de> * wide-int.h (wide_int_storage::operator=): Implement in terms of wi::copy. From-SVN: r245831
Richard Biener committed -
re PR tree-optimization/79777 (ICE on -Os and above in on aarch64-linux-gnu (internal compiler error: in VN_INFO_GET, at tree-ssa-sccvn.c:407 })) 2017-03-02 Richard Biener <rguenther@suse.de> PR tree-optimization/79777 * tree-ssa-pre.c (eliminate_insert): Give up if we simplify the to insert expression to sth existing. * gcc.dg/torture/pr79777.c: New testcase. From-SVN: r245830
Richard Biener committed -
PR libstdc++/79789 * include/bits/hashtable_policy.h (__clp2): Use reserved names for parameters and local variables. * include/bits/ios_base.h (make_error_code, make_error_condition): Likewise. * include/bits/list.tcc (list::sort): Likewise. * include/bits/mask_array.h (mask_array): Likewise. * include/bits/regex.h (regex_token_iterator): Likewise. * include/bits/slice_array.h (slice_array): Likewise. * include/bits/stl_algo.h (__sample): Likewise. * include/std/memory (undeclare_no_pointers): Likewise. * include/std/type_traits (is_callable_v, is_nothrow_callable_v): Likewise. * libsupc++/exception_ptr.h (__dest_thunk): Likewise. * testsuite/17_intro/headers/names.cc: New test. From-SVN: r245828
Jonathan Wakely committed -
PR libstdc++/79798 * include/std/functional (bind::_Res_type_impl): Fix incorrect use of result_of that loses top-level cv-qualifiers. * testsuite/20_util/bind/79798.cc: New test. From-SVN: r245827
Jonathan Wakely committed -
Class template argument deduction in new-expression * init.c (build_new): Handle deduction from no initializer. * parser.c (cp_parser_new_expression): Don't require a single expression for class template deduction. * typeck2.c (cxx_incomplete_type_diagnostic): Fix diagnostic for class template placeholder. * pt.c (tsubst_copy) [TEMPLATE_DECL]: Handle dependent context. (tsubst_copy_and_build) [TEMPLATE_ID_EXPR]: Handle SCOPE_REF. (redeclare_class_template): Set TEMPLATE_TYPE_PARM_FOR_CLASS. From-SVN: r245826
Jason Merrill committed -
From-SVN: r245825
GCC Administrator committed
-
- 01 Mar, 2017 18 commits
-
-
gcc/ChangeLog: PR middle-end/79692 * gimple-ssa-sprintf.c (directive::known_width_and_precision): New function. (format_integer): Use it. (get_mpfr_format_length): Consider the full range of precision when computing %g output with the # flag. Set the likely byte count to 3 rather than 1 when precision is indeterminate. (format_floating): Correct the lower bound of precision. gcc/testsuite/ChangeLog: PR middle-end/79692 * gcc.dg/tree-ssa/builtin-sprintf-2.c: Add test cases. * gcc.dg/tree-ssa/builtin-sprintf-warn-10.c: Correct %#g. * gcc.dg/tree-ssa/builtin-sprintf-warn-15.c: New test. * gcc.dg/tree-ssa/builtin-snprintf-3.c: Ditto. From-SVN: r245822
Martin Sebor committed -
2017-03-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * doc/invoke.texi: Document default code model for 64-bit Linux. From-SVN: r245821
Bill Schmidt committed -
From-SVN: r245820
Joseph Myers committed -
2017-03-01 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> PR target/79752 * config/rs6000/rs6000.md (peephole2 for udiv/umod): Should emit udiv rather than div since input pattern is unsigned. From-SVN: r245817
Aaron Sawdey committed -
* config/i386/i386.c (print_reg): Warn for values of unsupported size in integer register. testsuite/ChangeLog: * gcc.target/i386/invsize-2.c: New test. * gcc.target/i386/invsize-3.c: Ditto. * gcc.target/i386/invsize-4.c: Ditto. * gcc.target/i386/pr66274.c: Expect "unsuported size" warning. * gcc.target/i386/stackalign/asm-1.c: Ditto. From-SVN: r245815
Uros Bizjak committed -
This file was accidentally omitted from the update to the final Go 1.8. From-SVN: r245814
Ian Lance Taylor committed -
[gcc] 2017-03-01 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/79439 * config/rs6000/predicates.md (current_file_function_operand): Do not allow self calls to be local if the function is replaceable. [gcc/testsuite] 2017-03-01 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/79439 * gcc.target/powerpc/pr79439.c: New test. From-SVN: r245813
Michael Meissner committed -
* gcc.target/powerpc/pr79544.c: Add test for vec_vsrad and fix up scan string. From-SVN: r245812
Pat Haugen committed -
gcc/ChangeLog: 2017-03-01 Kelvin Nilsen <kelvin@gcc.gnu.org> PR target/79395 * config/rs6000/altivec.h (vec_ctz and others): Change the preprocessor macro that controls conditional compilation from _ARCH_PWR9 to __POWER9_VECTOR__. (vec_all_ne): Change parameterization of __altivec_scalar_pred macro expansion under preprocessor #ifdef __POWER9_VECTOR__ control (instead of _ARCH_PWR9 control) so that template definition uses power9-specific function. (vec_any_eq): Likewise. (vec_all_ne): Change macro definition to use a power9-specific expansion under #ifdef __POWER9_VECTOR__ control (instead of _ARCH_PWR9 control). (vec_any_eq) Likewise. * config/rs6000/rs6000-builtin.def (CMPNEF): Remove BU_P9V_AV_2 expansion for CMPNEF to remove support for xvcmpnesp instruction. (CMPNED): Remove BU_P9V_AV2 expansion for CMPNED to remove support for xvcmpnedp instruction. (VCMPNEB_P): Replace BU_P9V_AV_P macro expansion with BU_P9V_AV_2 macro expansion so that Power9 implementation of vec_all_ne does not use the AltiVec predicate framework. (VCMPNEH_P): Likewise. (VCMPNEW_P): Likewise. (VCMPNED_P): Likewise. (VCMPNEFP_P): Likewise. (VCMPNEDP_P): Likewise. (VCMPAEB_P): Add BU_P9V_AV_2 macro expansion to change implementation of vec_any_eq to not use AltiVec predicate framework. (VCMPAEH_P): Likewise. (VCMPAEW_P): Likewise. (VCMPAED_P): Likewise. (VCMPAEFP_P): Likewise. (VCMPAEDP_P): Likewise. (VCMPNE_P): Replace BU_P9V_OVERLOAD_P macro expansion with BU_P9V_OVERLOAD_2 so that Power9 implementation of vec_all_ne does not use the AltiVec predicate framework. (VCMPAE_P): Add BU_P9V_OVERLOAD_2 macro to change implementation of vec_any_eq to not use AltiVec predicate framework. * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add support for predefined __POWER9_VECTOR__ macro to indicate that Power9 instruction selection is enabled. (altivec_overloaded_builtins): Remove extraneous ALTIVEC_BUILTIN_VEC_CMPNE entry for overloaded function argument types RS6000_BTI_bool_V16QI and RS6000_BTI_bool_V16QI. Remove erroneous ALTIVEC_BUILTIN_VEC_CMPNE entry for overloaded function argument types RS6000_BTI_bool_V4SI andRS6000_BTI_bool_V4SI, mapping to P9V_BUILTIN_CMPNEB. Remove two entries mapping to P9V_BUITIN_CMPNED and one entry mapping to P9V_BUILTIN_CMPNEF to force use of instructions not specific to Power9 for implementations of vec_cmpne. Change the signature for all definitions of the overloaded P9V_BUILTIN_VEC_CMPNE_P function (representing vec_all_ne) to remove the previously described first argument of type RS6000_BTI_INTSI, as this was an artifact of reliance on the AltiVec predicate framework, which is no longer used in the implementation of these functions. Add P9V_BUILTIN_VEC_VCMPAE_P entries (representing the vec_anyeq function) to match all of the P9V_BUILTIN_VEC_VCMNE_P entries since, unlike the AltiVec predicate framework implementation, we do not share function descriptors between vec_alle and vec_anyeq. (altivec_resolve_overloaded_builtin): Add SFmode and DFmode to the set of modes that receive special treatment even when TARGET_P9_VECTOR is true. The special treatment emits code that does not depend on Power9 instructions. * config/rs6000/vector.md (vector_ne_<mode>_p): Change this define_expand to not rely on AltiVec predicate framework. (vector_ae_<mode>p): New define_expand to represent vec_any_eq function. (vector_ne_v2di_p): Change this define_expand to not rely on AltiVec predicate framework. (vector_ae_v2di_p): New define_expand to represent vec_any_eq function. (vector_ne_<mode>_p): Change this define_expand to not rely on AltiVec predicate framework. (vector_ae_<mode>p): New define_expand to represent vec_any_eq function. * config/rs6000/vsx.md (*vsx_ne_<mode>_p): For modes VSX_EXTRACT_I (V16QI, V8HI, V4SI), correct a typo in the code emitted for this define_insn pattern. (*vsx_ne_<mode>_p): For modes VSX_F (V4SF and V2DF), remove this define_insn pattern because the xvcmpne<VSs>. instruction is not supported. (vcmpne<VSs>): Remove this define_insn because xvcmpne<VSs> instruction is not supported. gcc/testsuite/ChangeLog: 2017-03-01 Kelvin Nilsen <kelvin@gcc.gnu.org> PR target/79395 * gcc.target/powerpc/vsu/vec-all-ne-10.c: Change scan-assembler pattern to look for vcmpequd. instead of vcmpnew. * gcc.target/powerpc/vsu/vec-all-ne-14.c: Likewise. * gcc.target/powerpc/vsu/vec-all-ne-7.c: Change scan-assembler pattern to look for xvcmpeqsp. instead of xvcmpnesp. * gcc.target/powerpc/vsu/vec-all-ne-8.c: Change scan-assembler to look for xvcmpeqdp. instead of xvcmpnedp. * gcc.target/powerpc/vsu/vec-all-ne-9.c: Change scan-assembler to look for vcmpequd. instead of vcmpnew. * gcc.target/powerpc/vsu/vec-any-eq-10.c: Likewise. * gcc.target/powerpc/vsu/vec-any-eq-14.c: Likewise. * gcc.target/powerpc/vsu/vec-any-eq-7.c: Change scan-assembler to look for xvcmpeqsp. instead of xvcmpnesp. * gcc.target/powerpc/vsu/vec-any-eq-8.c: Change scan-assembler to look for xvcmpeqdp. instead of xvcmpnedp. * gcc.target/powerpc/vsu/vec-any-eq-9.c: Change scan-assembler to look for vcmpequd. instead of vcmpnew. * gcc.target/powerpc/vsu/vec-cmpne-8.c: Change scan-assembler to look for vcmpeqsp instead of xvcmpnesp. * gcc.target/powerpc/vsu/vec-cmpne-9.c: Change scan-assembler to look for xvcmpeqdp instead of xvcmpnedp. From-SVN: r245811
Kelvin Nilsen committed -
* doc/xml/manual/documentation_hacking.xml: Tweak link to doxygen.org. From-SVN: r245808
Gerald Pfeifer committed -
From-SVN: r245806
Jakub Jelinek committed -
2017-03-01 Martin Jambor <mjambor@suse.cz> PR lto/78140 * ipa-prop.h (ipa_bits): Removed field known. (ipa_jump_func): Removed field vr_known. Changed fields bits and m_vr to pointers. Adjusted their comments to warn about their sharing. (ipcp_transformation_summary): Change bits to a vector of pointers. (ipa_check_create_edge_args): Moved to ipa-prop.c, declare. (ipa_get_ipa_bits_for_value): Declare. * tree-vrp.h (value_range): Mark as GTY((for_user)). * ipa-prop.c (ipa_bit_ggc_hash_traits): New. (ipa_bits_hash_table): Likewise. (ipa_vr_ggc_hash_traits): Likewise. (ipa_vr_hash_table): Likewise. (ipa_print_node_jump_functions_for_edge): Adjust for bits and m_vr being pointers and vr_known being removed. (ipa_set_jf_unknown): Likewise. (ipa_get_ipa_bits_for_value): New function. (ipa_set_jfunc_bits): Likewise. (ipa_get_value_range): New overloaded functions. (ipa_set_jfunc_vr): Likewise. (ipa_compute_jump_functions_for_edge): Use the above functions to construct bits and vr parts of jump functions. (ipa_check_create_edge_args): Move here from ipa-prop.h, also allocate ipa_bits_hash_table and ipa_vr_hash_table if they do not already exist. (ipcp_grow_transformations_if_necessary): Also allocate ipa_bits_hash_table and ipa_vr_hash_table if they do not already exist. (ipa_node_params_t::duplicate): Do not copy bits, just pointers to them. Fix too long lines. (ipa_write_jump_function): Adjust for bits and m_vr being pointers and vr_known being removed. (ipa_read_jump_function): Use new setter functions to construct bits and vr parts of jump functions or set them to NULL. (write_ipcp_transformation_info): Adjust for bits being pointers. (read_ipcp_transformation_info): Likewise. (ipcp_update_bits): Likewise. Fix excessively long lines a trailing space. Include gt-ipa-prop.h. * ipa-cp.c (propagate_bits_across_jump_function): Adjust for bits being pointers. (ipcp_store_bits_results): Likewise. (propagate_vr_across_jump_function): Adjust for m_vr being a pointer. Do not write to existing jump functions but use a temporary instead. From-SVN: r245805
Martin Jambor committed -
PR c++/79681 * fold-const.c (make_bit_field_ref): If orig_inner is COMPONENT_REF, attempt to use its first operand as BIT_FIELD_REF base. * g++.dg/cpp1y/constexpr-79681-1.C: New test. * g++.dg/cpp1y/constexpr-79681-2.C: New test. From-SVN: r245804
Jakub Jelinek committed -
2017-03-01 Richard Biener <rguenther@suse.de> PR middle-end/79721 * tree-chrec.c (chrec_evaluate): Perform computation of Newtons interpolating formula in wrapping arithmetic. (chrec_apply): Convert chrec_evaluate return value to wanted type. * gcc.dg/torture/pr79721.c: New testcase. From-SVN: r245803
Richard Biener committed -
PR c++/79746 * init.c (emit_mem_initializers): When not constructing vbases of abstract classes, mark arguments as read for -Wunused-but-set-parameter. * g++.dg/warn/Wunused-parm-9.C: New test. From-SVN: r245802
Jakub Jelinek committed -
PR tree-optimization/79734 * tree-vect-generic.c (expand_vector_condition): Optimize AVX512 vector boolean VEC_COND_EXPRs into bitwise operations. Handle VEC_COND_EXPR where comparison has different inner width from type's inner width. * g++.dg/opt/pr79734.C: New test. From-SVN: r245801
Jakub Jelinek committed -
2017-02-28 Sandra Loosemore <sandra@codesourcery.com> gcc/ * doc/invoke.texi (ARC Options): Copy-edit to fix punctuation, markup, and similar issues. Remove @opindex entries for things that aren't options. Add missing -mmpy-option entries. From-SVN: r245800
Sandra Loosemore committed -
From-SVN: r245799
GCC Administrator committed
-
- 28 Feb, 2017 6 commits
-
-
* call.c (joust): Move deduction guide tiebreaker down. * decl.c (start_decl_1, cp_finish_decl, grokdeclarator): Allow class deduction with no initializer. * pt.c (build_deduction_guide): Handle implicit default/copy ctor. (do_class_deduction): Use that rather than special case. (do_auto_deduction): Handle null initializer. From-SVN: r245796
Jason Merrill committed -
re PR tree-optimization/79737 (wrong code at -O2 and -O3 on x86_64-linux-gnu (in both 32-bit and 64-bit modes)) PR tree-optimization/79737 * gimple-ssa-store-merging.c (encode_tree_to_bitpos): If bitlen is a multiple of BITS_PER_UNIT and !BYTES_BIG_ENDIAN, clear tmpbuf[byte_size - 1]. Call natice_encode_expr with byte_size - 1 instead of byte_size. Formatting fix. (shift_bytes_in_array_right): Formatting fix. * gcc.c-torture/execute/pr79737-1.c: New test. * gcc.c-torture/execute/pr79737-2.c: New test. From-SVN: r245795
Jakub Jelinek committed -
Fixes Solaris build. Patch by Rainer Orth. Reviewed-on: https://go-review.googlesource.com/37587 From-SVN: r245794
Ian Lance Taylor committed -
PR target/79749 * config/sparc/sparc.c (sparc_frame_pointer_required): Add missing condition on optimize for the leaf function test. From-SVN: r245791
Eric Botcazou committed -
2017-02-28 Martin Liska <mliska@suse.cz> PR lto/79625 * read-rtl-function.c (function_reader::handle_unknown_directive): Bail out when one uses -flto. From-SVN: r245790
Martin Liska committed -
2017-02-28 Martin Liska <mliska@suse.cz> * c.opt: Replace space with tabular for options of <number> type. 2017-02-28 Martin Liska <mliska@suse.cz> * common.opt: Replace space with tabular for options of <number> type. * config/i386/i386.opt: Show <number> value for -mlarge-data-threshold. * opts.c (print_filtered_help): Do not display number in hexadecimal format. From-SVN: r245789
Martin Liska committed
-