1. 22 Mar, 2017 25 commits
    • re PR tree-optimization/80072 (ICE in gimple_build_assign_1 with -O3… · b51ee78c
      re PR tree-optimization/80072 (ICE in gimple_build_assign_1 with -O3 -march=broadwell/skylake-avx512)
      
      	PR tree-optimization/80072
      	* tree-ssa-reassoc.c (struct operand_entry): Change id field type
      	to unsigned int.
      	(next_operand_entry_id): Change type to unsigned int.
      	(sort_by_operand_rank): Make sure to return the right return value
      	even if unsigned fields are bigger than INT_MAX.
      	(struct oecount): Change cnt and id type to unsigned int.
      	(oecount_hasher::equal): Formatting fix.
      	(oecount_cmp): Make sure to return the right return value
      	even if unsigned fields are bigger than INT_MAX.
      	(undistribute_ops_list): Change next_oecount_id type to unsigned int.
      
      From-SVN: r246408
      Jakub Jelinek committed
    • compiler: initialize gogo fields · 36c1cf71
          
          A couple of the data members in the Gogo class were not
          being initialized properly. This was causing "uninitialized value"
          errors during Valgrind memcheck runs. This patch insures that
          all of the fields receive an initial value.
          
          Reviewed-on: https://go-review.googlesource.com/38470
      
      From-SVN: r246407
      Ian Lance Taylor committed
    • re PR fortran/39239 (Reject SAVEd variables EQUIVALENCEd to a COMMON) · 0d3214c2
      2017-03-12 Nicolas Koenig <koenigni@student.ethz.ch>
      
      	PR fortran/39239
      	fortran/Changelog:  Add entry for rev. 246284.
      
      From-SVN: r246406
      Nicolas Koenig committed
    • re PR fortran/39239 (Reject SAVEd variables EQUIVALENCEd to a COMMON) · 9cdf0363
      2017-03-22 Nicolas Koenig <koenigni@student.ethz.ch>
      
      	PR fortran/39239
      	* gfortran.dg/equiv_constraint_bind_c.f90: New test.
      
      From-SVN: r246405
      Nicolas Koenig committed
    • ChangeLog: Add forgotten entry for r246322. · e59a225f
      2017-03-21  Nicolas Koenig  <koenigni@student.ethz.ch>
      
      	* fortran/ChangeLog: Add forgotten entry for r246322.
      	* testsuite/ChangeLog: Likewise.
      
      From-SVN: r246404
      Nicolas Koenig committed
    • re PR c++/80141 (ICE with pragma omp declare) · f13e9cd5
      	PR c++/80141
      	* semantics.c (finish_omp_clause) <case OMP_CLAUSE_SIMDLEN,
      	case OMP_CLAUSE_ALIGNED>: Call maybe_constant_value only when not
      	processing_template_decl.
      
      	* g++.dg/gomp/pr80141.C: New test.
      
      From-SVN: r246403
      Jakub Jelinek committed
    • re PR sanitizer/78158 (Strange data race detection with thread sanitizer) · fd6cba40
      	PR sanitizer/78158
      	* tsan/tsan_interface_atomic.cc: Cherry-pick upstream r298378.
      
      From-SVN: r246402
      Jakub Jelinek committed
    • re PR c++/80129 (wrong code with ternary struct assignment to const) · 68ed2ba0
      	PR c++/80129
      	* gimplify.c (gimplify_modify_expr_rhs) <case COND_EXPR>: Clear
      	TREE_READONLY on result if writing it more than once.
      
      	* g++.dg/torture/pr80129.C: New test.
      
      From-SVN: r246401
      Jakub Jelinek committed
    • re PR sanitizer/80110 (error: statement marked for throw, but doesn’t w/ -fsanitize=thread) · 0e2468e0
      	PR sanitizer/80110
      	* doc/invoke.texi (-fsanitize=thread): Document that with
      	-fnon-call-exceptions atomics are not able to throw
      	exceptions.
      
      From-SVN: r246400
      Jakub Jelinek committed
    • re PR sanitizer/80110 (error: statement marked for throw, but doesn’t w/ -fsanitize=thread) · f3dd574e
      	PR sanitizer/80110
      	* tsan.c: Include tree-eh.h.
      	(instrument_builtin_call): Call maybe_clean_eh_stmt or
      	maybe_clean_or_replace_eh_stmt where needed.
      	(instrument_memory_accesses): Add cfg_changed argument.
      	Call gimple_purge_dead_eh_edges on each block and set *cfg_changed
      	if it returned true.
      	(tsan_pass): Adjust caller.  Return TODO_cleanup_cfg if cfg_changed.
      
      	* g++.dg/tsan/pr80110.C: New test.
      
      From-SVN: r246399
      Jakub Jelinek committed
    • re PR rtl-optimization/63191 (32-bit gcc uses excessive memory during dead store… · c6dd4ee6
      re PR rtl-optimization/63191 (32-bit gcc uses excessive memory during dead store elimination with -fPIC)
      
      	PR rtl-optimization/63191
      	* config/i386/i386.c (ix86_delegitimize_address): Turn into small
      	wrapper function, moved the whole old content into ...
      	(ix86_delegitimize_address_1): ... this.  New inline function.
      	(ix86_find_base_term): Use ix86_delegitimize_address_1 with
      	true as last argument instead of ix86_delegitimize_address.
      
      From-SVN: r246398
      Jakub Jelinek committed
    • Recently we've put a lot of effort into improving ifcvt to use CSEL on AArch64. · 9094d4a4
      In  https://gcc.gnu.org/ml/gcc-patches/2015-11/msg01639.html James determined
      the best value for AArch64 code generation.  Although this setting is used when
      explicitly targeting Cortex cores, it is not otherwise used.  This means by
      default GCC will not use (F)CSEL in many common cases. 
      
      Change the generic_branch_cost to be the same as cortexa57_branch_cost so that
      all supported cores benefit from CSEL.  This is generally faster and smaller.
      On one benchmark the new setting fixes a regression since GCC6 and improves
      performance by 49%.
      
          gcc/
      	* config/aarch64/aarch64.c (generic_branch_cost):
      	Copy cortexa57_branch_cost.
      
      From-SVN: r246397
      Wilco Dijkstra committed
    • configure.ac: Enable LTO by default on darwin >= 9. · deeba76a
      	* configure.ac: Enable LTO by default on darwin >= 9.
      	* configure: Regenerate.
      
      From-SVN: r246396
      Francois-Xavier Coudert committed
    • Many supported cores implement fusion of AES instructions. · e0701ef0
      Many supported cores implement fusion of AES instructions.  When fusion
      happens it can give a significant performance gain.  If not, scheduling
      fusion candidates next to each other has almost no effect on performance.
      Due to the high benefit/low cost it makes sense to enable AES fusion with
      -mcpu=generic so that cores that support it always benefit.
      
          gcc/
      	* config/aarch64/aarch64.c (generic_tunings): Add AES fusion.
      
      From-SVN: r246395
      Wilco Dijkstra committed
    • re PR target/80123 (libgomp tests pr66199-2.c and pr66199-5.c fail with -mcpu=power9) · 99211352
      2017-03-21  Aaron Sawdey  <acsawdey@linux.vnet.ibm.com>
      
      	PR target/80123
      	* doc/md.texi (Constraints): Document wA constraint.
      	* config/rs6000/constraints.md (wA): New.
      	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Add wA reg_class.
      	(rs6000_init_hard_regno_mode_ok): Init wA constraint.
      	* config/rs6000/rs6000.h (RS6000_CONSTRAINT_wA): New.
      	* config/rs6000/vsx.md (vsx_splat_<mode>): Use wA constraint.
      
      From-SVN: r246394
      Aaron Sawdey committed
    • re PR fortran/79602 (translation: globally replace '%s' with %qs) · 2f029c08
      2017-03-22  Dominique d'Humieres  <dominiq@lps.ens.fr>
      
      	PR fortran/79602
      	* decl.c: Replace '%s' with %qs.
      	* expr.c: Likewise.
      	* interface.c: Likewise.
      	* match.c: Likewise.
      	* primary.c: Likewise.
      	* resolve.c: Likewise.
      
      	PR fortran/79844
      	PR fortran/80011
      	* io.c: Remove trailing spaces.
      	* match.c: Likewise.
      	* openmp.c: Likewise.
      	* resolve.c: Likewise.
      	* trans-intrinsic.c: Likewise.
      
      	PR fortran/79853
      	* expr.c: Remove a double spaces.
      
      	PR fortran/79859
      	* primary.c: Remove spurious quotes around %qs.
      
      From-SVN: r246391
      Dominique d'Humieres committed
    • Add deduction guides for C++17 (P0433R2, partial) · af181c91
      	* include/bits/shared_ptr.h (shared_ptr, weak_ptr): Add deduction
      	guides for C++17.
      	* include/bits/std_function.h (function): Likewise.
      	* include/bits/stl_pair.h (pair): Likewise.
      	* include/debug/array (__gnu_debug::array): Likewise.
      	* include/std/array (array): Likewise.
      	* include/std/functional (make_default_searcher)
      	(make_boyer_moore_searcher, make_boyer_moore_horspool_searcher):
      	Remove generator functions.
      	* include/std/tuple (tuple): Add deduction guides.
      	* include/std/valarray (valarray): Likewise.
      	* testsuite/20_util/function_objects/searchers.cc: Adjust to use
      	class template argument deduction instead of generator functions.
      	* testsuite/20_util/function/cons/deduction.cc: New test.
      	* testsuite/20_util/optional/cons/deduction_guide.cc: Rename to ...
      	* testsuite/20_util/optional/cons/deduction.cc: ... here.
      	* testsuite/20_util/pair/cons/deduction.cc: New test.
      	* testsuite/20_util/shared_ptr/cons/deduction.cc: New test.
      	* testsuite/20_util/tuple/cons/deduction.cc: New test.
      	* testsuite/20_util/tuple/element_access/get_neg.cc: Adjust dg-error.
      	* testsuite/20_util/unique_ptr/cons/deduction_neg.cc: New test.
      	* testsuite/20_util/weak_ptr/cons/deduction.cc: New test.
      	* testsuite/23_containers/array/cons/deduction.cc: New test.
      	* testsuite/23_containers/array/cons/deduction_neg.cc: New test.
      	* testsuite/23_containers/array/tuple_interface/get_debug_neg.cc:
      	Adjust dg-error.
      	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Likewise.
      	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
      	Likewise.
      	* testsuite/26_numerics/valarray/deduction.cc: New test.
      	* testsuite/30_threads/lock_guard/cons/deduction.cc: New test.
      	* testsuite/30_threads/scoped_lock/cons/deduction.cc: New test.
      	* testsuite/30_threads/unique_lock/cons/deduction.cc: New test.
      
      From-SVN: r246389
      Jonathan Wakely committed
    • re PR fortran/80142 (Warning: No location in expression ... with -O / -ffrontend-optimize) · 918b6c9e
      2017-03-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/80142
      	* frontend-passes.c (combine_array_constructor): Take
      	location of new expression from constructor expression instead
      	of constructor.
      
      2017-03-22  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/80142
      	* gfortran.dg/any_loc.f90: New test case.
      
      From-SVN: r246388
      Thomas Koenig committed
    • re PR go/80128 (go1: internal compiler error: in write_specific_type_functions,… · b1fb3cb0
      re PR go/80128 (go1: internal compiler error: in write_specific_type_functions, at go/gofrontend/types.cc:2002)
      
      	PR go/80128
          compiler: check backend alignment for memequalNN functions
          
          The code was assuming the usual required alignment for the memequalNN
          functions (16 bits for int16, 32 for int32, etc.). However, on m68k
          the required alignment of int32 is only 16 bits. Assuming the
          memequalNN alignment caused the compiler to incorrectly decide that
          int32 required a specially generated function rather than calling
          memequal32. This then crashed if the type descriptor were generated
          after type-specific functions had been written.
          
          Fixes GCC PR 80128.
          
          Reviewed-on: https://go-review.googlesource.com/38433
      
      From-SVN: r246382
      Ian Lance Taylor committed
    • re PR c++/80029 (valgrind error in new_omp_context(omp_region_type) (gimplify.c:400)) · 7ba8651e
      	PR c++/80029
      
      	gcc/
      	* gimplify.c (is_oacc_declared): New function.
      	(oacc_default_clause): Use it to set default flags for acc declared
      	variables inside parallel regions.
      	(gimplify_scan_omp_clauses): Strip firstprivate pointers for acc
      	declared variables.
      	(gimplify_oacc_declare): Gimplify the declare clauses.  Add the
      	declare attribute to any decl as necessary.
      
      	libgomp/
      	* testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
      
      From-SVN: r246381
      Cesar Philippidis committed
    • Fix PR80082: LDRD erronously used for 64bit load on ARMv7-R · bf634d1c
      2017-03-22  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/
          PR target/80082
          * config/arm/arm-isa.h (isa_bit_lpae): New feature bit.
          (ISA_ARMv7ve): Add isa_bit_lpae to the definition.
          * config/arm/arm-protos.h (arm_arch7ve): Rename into ...
          (arm_arch_lpae): This.
          * config/arm/arm.c (arm_arch7ve): Rename into ...
          (arm_arch_lpae): This.  Define it in term of isa_bit_lpae.
          * config/arm/arm.h (TARGET_HAVE_LPAE): Redefine in term of
          arm_arch_lpae.
      
          gcc/testsuite/
          PR target/80082
          * gcc.target/arm/atomic_loaddi_10.c: New testcase.
          * gcc.target/arm/atomic_loaddi_11.c: Likewise.
      
      From-SVN: r246365
      Thomas Preud'homme committed
    • Error message on target attribute on power target (PR target/79906) · f7325b95
      2017-03-22  Martin Liska  <mliska@suse.cz>
      
      	PR target/79906
      	* config/rs6000/rs6000.c (rs6000_inner_target_options): Show
      	error message instead of an ICE.
      2017-03-22  Martin Liska  <mliska@suse.cz>
      
      	PR target/79906
      	* g++.dg/ext/mv8.C: Add power* targets.
      
      From-SVN: r246345
      Martin Liska committed
    • extend.texi (6.11 Additional Floating Types): Revise. · 17ceee7c
      2017-03-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* doc/extend.texi (6.11 Additional Floating Types): Revise.
      
      From-SVN: r246343
      Bill Schmidt committed
    • Daily bump. · 8d563e2e
      From-SVN: r246342
      GCC Administrator committed
    • rs6000-c.c (rs6000_target_modify_macros): Add comments. · 2b33460a
      gcc/ChangeLog:
      
      2017-03-21  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add
      	comments.
      	* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
      	comments.
      
      From-SVN: r246339
      Kelvin Nilsen committed
  2. 21 Mar, 2017 15 commits