1. 28 Sep, 2019 5 commits
  2. 27 Sep, 2019 22 commits
    • Regenerate `configure' scripts for `uclinuxfdpiceabi' libtool.m4 update · e9085da5
      A change made with r275564 ("[ARM/FDPIC v6 02/24] [ARM] FDPIC: Handle 
      arm*-*-uclinuxfdpiceabi in configure scripts") to libtool.m4 has not 
      regenerated all the `configure' scripts affected.  Fix it.
      
      	gcc/
      	* configure: Regenerate.
      
      	libatomic/
      	* configure: Regenerate.
      
      	libbacktrace/
      	* configure: Regenerate.
      
      	libcc1/
      	* configure: Regenerate.
      
      	libffi/
      	* configure: Regenerate.
      
      	libgfortran/
      	* configure: Regenerate.
      
      	libgomp/
      	* configure: Regenerate.
      
      	libhsail-rt/
      	* configure: Regenerate.
      
      	libitm/
      	* configure: Regenerate.
      
      	libobjc/
      	* configure: Regenerate.
      
      	liboffloadmic/
      	* configure: Regenerate.
      
      	libphobos/
      	* configure: Regenerate.
      
      	libquadmath/
      	* configure: Regenerate.
      
      	libsanitizer/
      	* configure: Regenerate.
      
      	libssp/
      	* configure: Regenerate.
      
      	libstdc++-v3/
      	* configure: Regenerate.
      
      	libvtv/
      	* configure: Regenerate.
      
      	lto-plugin/
      	* configure: Regenerate.
      
      	zlib/
      	* configure: Regenerate.
      
      From-SVN: r276213
      Maciej W. Rozycki committed
    • re PR c++/88203 (assert does not compile with OpenMP's pragma omp parallel for default(none)) · 59bc434a
      	PR c++/88203
      c-family/
      	* c-common.h (c_omp_predefined_variable): Declare.
      	* c-omp.c (c_omp_predefined_variable): New function.
      	(c_omp_predetermined_sharing): Return OMP_CLAUSE_DEFAULT_SHARED
      	for predefined variables.
      c/
      	* c-parser.c (c_parser_predefined_identifier): New function.
      	(c_parser_postfix_expression): Use it.
      	(c_parser_omp_variable_list): Parse predefined identifiers.
      	* c-typeck.c (c_finish_omp_clauses): Allow predefined variables
      	in shared and firstprivate clauses, even when they are predetermined
      	shared.
      cp/
      	* parser.c (cp_parser_omp_var_list_no_open): Parse predefined
      	variables.
      	* semantics.c (finish_omp_clauses): Allow predefined variables in
      	shared and firstprivate clauses, even when they are predetermined
      	shared.
      	* cp-gimplify.c (cxx_omp_predetermined_sharing_1): Return
      	OMP_CLAUSE_DEFAULT_SHARED for predefined variables.
      testsuite/
      	* c-c++-common/gomp/pr88203-1.c: New test.
      	* c-c++-common/gomp/pr88203-2.c: New test.
      	* c-c++-common/gomp/pr88203-3.c: New test.
      
      From-SVN: r276212
      Jakub Jelinek committed
    • re PR middle-end/91920 (ggc 9.2.0 failing openmp compile on ppc64le) · 00798c58
      	PR middle-end/91920
      	* gimplify.c (omp_default_clause): Predetermine DECL_IN_CONSTANT_POOL
      	variables as shared.
      
      	* c-c++-common/gomp/pr91920.c: New test.
      
      From-SVN: r276211
      Jakub Jelinek committed
    • [Darwin, PPC, Mode Iterators 3/n] Update macho_correct_pic. · 576113ab
      Drop the expander and use a mode expander on the define_insn
      for macho_correct_pic instead.
      
      gcc/ChangeLog:
      
      2019-09-27  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/rs6000/darwin.md (@macho_correct_pic_<mode>): New,
      	replaces the expander and two define_insn entries.
      	(@reload_macho_picbase_<mode>): Update gen_macho_correct_pic
      	call.
      	* config/rs6000/rs6000.md (builtin_setjmp_receiver): Likewise.
      
      From-SVN: r276196
      Iain Sandoe committed
    • Const-correctness fixes for fibonacci_heap.h · 26a23d11
      gcc/ChangeLog:
      	* fibonacci_heap.h (fibonacci_heap::empty): Make const.
      	(fibonacci_heap::nodes): Likewise.
      	(fibonacci_heap::min_key): Likewise.
      	(fibonacci_heap::min): Likewise.
      
      From-SVN: r276193
      David Malcolm committed
    • constexpr.c (cxx_fold_indirect_ref): Use similar_type_p. · 1a120ec1
      	* constexpr.c (cxx_fold_indirect_ref): Use similar_type_p.
      
      Merging the similar_type_p change to the concepts branch broke a cmcstl2
      testcase; investigating led me to this small testcase which has always
      failed on trunk.
      
      	(cxx_eval_indirect_ref): Likewise.  Improve error location.
      
      From-SVN: r276192
      Jason Merrill committed
    • cp-tree.h (class iloc_sentinel): New. · c872f150
      	* cp-tree.h (class iloc_sentinel): New.
      
      We didn't already have a sentinel for input_location, and while
      temp_override would work, it would also happily set input_location to 0,
      which breaks things that try to look up the associated filename.
      
      	* decl.c (grokdeclarator, finish_enum_value_list): Use it.
      	* mangle.c (mangle_decl_string): Use it.
      	* pt.c (perform_typedefs_access_check): Use it.
      
      From-SVN: r276191
      Jason Merrill committed
    • Make cgraph_node::get_fun const · 975d043f
      gcc/ChangeLog:
      	* cgraph.c (cgraph_node::get_fun): Make const.
      	* cgraph.h (cgraph_node::get_fun): Likewise.
      
      From-SVN: r276190
      David Malcolm committed
    • compiler: don't read known type, simplify Import::finalize_methods · 37ed4c32
          
          With the current export format, if we already know the type, we don't
          have to read and parse the definition.
          
          We only use the finalizer in Import::finalize_methods, so make it a
          local variable.  To match Finalize_methods::type, only put struct
          types into real_for_named.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/197700
      
      From-SVN: r276188
      Ian Lance Taylor committed
    • compiler: only check whether struct or array types are big · 51c3b7c6
          
          Fetching the size of a type typically involves a hash table lookup,
          and is generally non-trivial.  The escape analysis code calls is_big
          more than one might expect.  So only fetch the size if we need it.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/197699
      
      From-SVN: r276187
      Ian Lance Taylor committed
    • compiler: fix brace formatting · df435456
          
          Just happened to notice this one.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/197698
      
      From-SVN: r276186
      Ian Lance Taylor committed
    • PR libstdc++/91910 fix data race in Debug Mode destructors · f7a3a382
      Fix data race when _Safe_iterator_base::_M_detach() runs concurrently with
      the _Safe_container_base destructor.
      
      	PR libstdc++/91910
      	* src/c++11/debug.cc (_Safe_iterator_base::_M_detach()): Load pointer
      	atomically and lock the mutex before accessing the sequence.
      	(_Safe_local_iterator_base::_M_detach()): Likewise.
      	(_Safe_iterator_base::_M_reset()): Clear _M_sequence atomically.
      
      From-SVN: r276184
      Jonathan Wakely committed
    • re PR target/91919 (arm-linux-eabi ICE with building kernel) · 88e032f1
      	PR target/91919
      	* config/arm/arm.md (<US>mlal): Remove SE wrappers around operands
      	of SImode MULT.
      
      	* gcc.c-torture/compile/pr91919.c: New.test
      
      From-SVN: r276183
      Jakub Jelinek committed
    • tree-vectorizer.h (_stmt_vec_info::reduc_fn): New. · 29f26978
      2019-09-27  Richard Biener  <rguenther@suse.de>
      
      	* tree-vectorizer.h (_stmt_vec_info::reduc_fn): New.
      	(STMT_VINFO_REDUC_FN): Likewise.
      	* tree-vectorizer.c (vec_info::new_stmt_vec_info): Initialize
      	STMT_VINFO_REDUC_FN.
      	* tree-vect-loop.c (vect_is_simple_reduction): Fix STMT_VINFO_REDUC_IDX
      	for condition reductions.
      	(vect_create_epilog_for_reduction): Compute all required state
      	from the stmt to be vectorized.
      	(vectorizable_reduction): Simplify vect_create_epilog_for_reduction
      	invocation and remove then dead code.  For single def-use chains
      	record only a single vector stmt.
      
      From-SVN: r276180
      Richard Biener committed
    • associate_48.f90: Fix a dg directive. · 67cb34ef
      2019-09-27  Manfred Schwarb  <manfred99@gmx.ch>
      
              * gfortran.dg/associate_48.f90: Fix a dg directive.
              * gfortran.dg/auto_in_equiv_1.f90: Ditto.
              * gfortran.dg/auto_in_equiv_2.f90: Ditto.
              * gfortran.dg/lto/pr87689_0.f: Ditto.
      
      From-SVN: r276179
      Manfred Schwarb committed
    • re PR tree-optimization/91885 (ICE when compiling SPEC 2017 blender benchmark… · 2ae8a2c9
      re PR tree-optimization/91885 (ICE when compiling SPEC 2017 blender benchmark with -O3 -fprofile-generate)
      
      	PR tree-optimization/91885
      	* gcc.dg/pr91885.c (__int64_t): Change from long to long long.
      	(__uint64_t): Change from unsigned long to unsigned long long.
      
      From-SVN: r276178
      Jakub Jelinek committed
    • [AArch64] Split built-in function codes into major and minor codes · 6d4d616a
      It was easier to add the SVE ACLE support without enumerating every
      function at build time.  This in turn meant that it was easier if the
      SVE builtins occupied a distinct numberspace from the existing AArch64
      ones, which *are* enumerated at build time.  This patch therefore
      divides the built-in functions codes into "major" and "minor" codes.
      At present the major code is just "general", but the SVE patch will add
      "SVE" as well.
      
      Also, it was convenient to put the SVE ACLE support in its own file,
      so the patch makes aarch64.c provide the frontline target hooks directly,
      forwarding to the other files for the real work.
      
      The reason for organising the files this way is that aarch64.c needs
      to define the target hook macros whatever happens, and having aarch64.c
      macros forward to aarch64-builtins.c functions and aarch64-bulitins.c
      functions forward to the SVE file seemed a bit indirect.  Doing things
      the way the patch does them puts aarch64-builtins.c and the SVE code on
      more of an equal footing.
      
      The aarch64_(general_)gimple_fold_builtin change is mostly just
      reindentation.
      
      2019-09-27  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* config/aarch64/aarch64-protos.h (aarch64_builtin_class): New enum.
      	(AARCH64_BUILTIN_SHIFT, AARCH64_BUILTIN_CLASS): New constants.
      	(aarch64_gimple_fold_builtin, aarch64_mangle_builtin_type)
      	(aarch64_fold_builtin, aarch64_init_builtins, aarch64_expand_builtin):
      	(aarch64_builtin_decl, aarch64_builtin_rsqrt): Delete.
      	(aarch64_general_mangle_builtin_type, aarch64_general_init_builtins):
      	(aarch64_general_fold_builtin, aarch64_general_gimple_fold_builtin):
      	(aarch64_general_expand_builtin, aarch64_general_builtin_decl):
      	(aarch64_general_builtin_rsqrt): Declare.
      	* config/aarch64/aarch64-builtins.c (aarch64_general_add_builtin):
      	New function.
      	(aarch64_mangle_builtin_type): Rename to...
      	(aarch64_general_mangle_builtin_type): ...this.
      	(aarch64_init_fcmla_laneq_builtins, aarch64_init_simd_builtins)
      	(aarch64_init_crc32_builtins, aarch64_init_builtin_rsqrt)
      	(aarch64_init_pauth_hint_builtins, aarch64_init_tme_builtins): Use
      	aarch64_general_add_builtin instead of add_builtin_function.
      	(aarch64_init_builtins): Rename to...
      	(aarch64_general_init_builtins): ...this.  Use
      	aarch64_general_add_builtin instead of add_builtin_function.
      	(aarch64_builtin_decl): Rename to...
      	(aarch64_general_builtin_decl): ...this and remove the unused
      	arguments.
      	(aarch64_expand_builtin): Rename to...
      	(aarch64_general_expand_builtin): ...this and remove the unused
      	arguments.
      	(aarch64_builtin_rsqrt): Rename to...
      	(aarch64_general_builtin_rsqrt): ...this.
      	(aarch64_fold_builtin): Rename to...
      	(aarch64_general_fold_builtin): ...this.  Take the function subcode
      	and return type as arguments.  Remove the "ignored" argument.
      	(aarch64_gimple_fold_builtin): Rename to...
      	(aarch64_general_gimple_fold_builtin): ...this.  Take the function
      	subcode and gcall as arguments, and return the new function call.
      	* config/aarch64/aarch64.c (aarch64_init_builtins)
      	(aarch64_fold_builtin, aarch64_gimple_fold_builtin)
      	(aarch64_expand_builtin, aarch64_builtin_decl): New functions.
      	(aarch64_builtin_reciprocal): Call aarch64_general_builtin_rsqrt
      	instead of aarch64_builtin_rsqrt.
      	(aarch64_mangle_type): Call aarch64_general_mangle_builtin_type
      	instead of aarch64_mangle_builtin_type.
      
      From-SVN: r276177
      Richard Sandiford committed
    • [C][C++] Allow targets to check calls to BUILT_IN_MD functions · c6447c20
      For SVE, we'd like the frontends to check calls to target-specific
      built-in functions in the same way that they already do for "normal"
      builtins.  This patch adds a target hook for that and extends
      check_builtin_function_arguments accordingly.
      
      A slight complication is that when TARGET_RESOLVE_OVERLOADED_BUILTIN
      has resolved an overload, it can use build_function_call_vec to build
      the call to the underlying non-overloaded function decl.  This in
      turn coerces the arguments to the function type and then calls
      check_builtin_function_arguments to check the final call.  If the
      target does find a problem in this final call, it can be useful
      to refer to the original overloaded function decl in diagnostics,
      since that's what the user wrote.
      
      The patch therefore passes the original decl as a final optional
      parameter to build_function_call_vec.
      
      2019-09-27  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* target.def (check_builtin_call): New target hook.
      	* doc/tm.texi.in (TARGET_CHECK_BUILTIN_CALL): New @hook.
      	* doc/tm.texi: Regenerate.
      
      gcc/c-family/
      	* c-common.h (build_function_call_vec): Take the original
      	function decl as an optional final parameter.
      	(check_builtin_function_arguments): Take the original function decl.
      	* c-common.c (check_builtin_function_arguments): Likewise.
      	Handle all built-in functions, not just BUILT_IN_NORMAL ones.
      	Use targetm.check_builtin_call to check BUILT_IN_MD functions.
      
      gcc/c/
      	* c-typeck.c (build_function_call_vec): Take the original function
      	decl as an optional final parameter.  Pass all built-in calls to
      	check_builtin_function_arguments.
      
      gcc/cp/
      	* cp-tree.h (build_cxx_call): Take the original function decl
      	as an optional final parameter.
      	(cp_build_function_call_vec): Likewise.
      	* call.c (build_cxx_call): Likewise.  Pass all built-in calls to
      	check_builtin_function_arguments.
      	* typeck.c (build_function_call_vec): Take the original function
      	decl as an optional final parameter and pass it to
      	cp_build_function_call_vec.
      	(cp_build_function_call_vec): Take the original function
      	decl as an optional final parameter and pass it to build_cxx_call.
      
      From-SVN: r276176
      Richard Sandiford committed
    • Fix reduc_index==1 handling for COND_REDUCTION (PR91909) · 18908a56
      The then/else order of the VEC_COND_EXPRs created by
      vect_create_epilog_for_reduction meeds to line up with the
      main VEC_COND_EXPR.
      
      2019-09-27  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	PR tree-optimization/91909
      	* tree-vect-loop.c (vect_create_epilog_for_reduction): Take a
      	reduc_index parameter.  When handling COND_REDUCTION, make sure
      	that the reduction phi operand is in the correct arm of the
      	VEC_COND_EXPR.
      	(vectorizable_reduction): Pass reduc_index to the above.
      
      From-SVN: r276175
      Richard Sandiford committed
    • [AArch64][SVE2] Shift-Right Accumulate combine patterns · 76bb5af6
      This patch adds combining support for SVE2's shift-right accumulate
      instructions.
      
      2019-09-27  Yuliang Wang  <yuliang.wang@arm.com>
      
      gcc/
      	* config/aarch64/aarch64-sve2.md (aarch64_sve2_sra<mode>):
      	New combine pattern.
      
      gcc/testsuite/
      	* gcc.target/aarch64/sve2/shracc_1.c: New test.
      
      From-SVN: r276174
      Yuliang Wang committed
    • set DECL_SIZE_UNIT for zero-sized fields · 639a28ba
      Zero-sized fields do not get processed by finish_record_type: they're
      removed from the field list before and reinserted after, so their
      DECL_SIZE_UNIT remains unset, causing the translation of assignment
      statements with use_memset_p, in quite unusual circumstances, to use a
      NULL_TREE as the memset length.  This patch sets DECL_SIZE_UNIT for
      the zero-sized fields, that don't go through language-independent
      layout, in language-specific layout.
      
      
      for  gcc/ada/ChangeLog
      
      	* gcc-interface/decl.c (components_to_record): Set
      	DECL_SIZE_UNIT for zero-sized fields.
      
      From-SVN: r276173
      Alexandre Oliva committed
    • Daily bump. · 09704140
      From-SVN: r276172
      GCC Administrator committed
  3. 26 Sep, 2019 13 commits
    • re PR libbacktrace/91908 (New libbacktrace tests fail to build) · 5fe5f75f
      	PR libbacktrace/91908
      	* pecoff.c (backtrace_initialize): Explicitly cast unchecked
      	__sync_bool_compare_and_swap to void.
      	* xcoff.c (backtrace_initialize): Likewise.
      
      From-SVN: r276168
      Ian Lance Taylor committed
    • charset.c (UCS_LIMIT): New macro. · 0900e29c
      	* charset.c (UCS_LIMIT): New macro.
      	(ucn_valid_in_identifier): Use it instead of a hardcoded constant.
      	(_cpp_valid_ucn): Issue a pedantic warning for UCNs larger than
      	UCS_LIMIT outside of identifiers in C and in C++2a or later.
      
      From-SVN: r276167
      Eric Botcazou committed
    • xtensa: fix PR target/91880 · d7326aaf
      Xtensa hwloop_optimize segfaults when zero overhead loop is about to be
      inserted as the first instruction of the function.
      Insert zero overhead loop instruction into new basic block before the
      loop when basic block that precedes the loop is empty.
      
      2019-09-26  Max Filippov  <jcmvbkbc@gmail.com>
      gcc/
      	* config/xtensa/xtensa.c (hwloop_optimize): Insert zero overhead
      	loop instruction into new basic block before the loop when basic
      	block that precedes the loop is empty.
      
      gcc/testsuite/
      	* gcc.target/xtensa/pr91880.c: New test case.
      	* gcc.target/xtensa/xtensa.exp: New test suite.
      
      From-SVN: r276166
      Max Filippov committed
    • function.c (gimplify_parameters): Use build_clobber function. · 25b45c7c
      	* function.c (gimplify_parameters): Use build_clobber function.
      	* tree-ssa.c (execute_update_addresses_taken): Likewise.
      	* tree-inline.c (expand_call_inline): Likewise.
      	* tree-sra.c (clobber_subtree): Likewise.
      	* tree-ssa-ccp.c (insert_clobber_before_stack_restore): Likewise.
      	* omp-low.c (lower_rec_simd_input_clauses, lower_rec_input_clauses,
      	lower_omp_single, lower_depend_clauses, lower_omp_taskreg,
      	lower_omp_target): Likewise.
      	* omp-expand.c (expand_omp_for_generic): Likewise.
      	* omp-offload.c (ompdevlow_adjust_simt_enter): Likewise.
      
      From-SVN: r276165
      Jakub Jelinek committed
    • rs6000-builtin.def: (LVSL... · 9ab2f9ae
      [gcc]
      
      2019-09-26  Will Schmidt <will_schmidt@vnet.ibm.com>
      	* config/rs6000/rs6000-builtin.def: (LVSL, LVSR, LVEBX, LVEHX,
      	LVEWX, LVXL, LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI,
      	LVXL_V16QI, LVX, LVX_V1TI, LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI,
      	LVX_V8HI, LVX_V16QI, LVLX, LVLXL, LVRX, LVRXL, LXSDX, LXVD2X_V1TI,
      	LXVD2X_V2DF, LXVD2X_V2DI, LXVDSX, LXVW4X_V4SF, LXVW4X_V4SI,
      	LXVW4X_V8HI, LXVW4X_V16QI, LD_ELEMREV_V1TI, LD_ELEMREV_V2DF,
      	LD_ELEMREV_V2DI, LD_ELEMREV_V4SF, LD_ELEMREV_V4SI, LD_ELEMREV_V8HI,
      	LD_ELEMREV_V16QI): Use the PURE attribute.
      
      [testsuite]
      
      2019-09-26  Will Schmidt <will_schmidt@vnet.ibm.com>
      	* gcc.target/powerpc/pure-builtin-redundant-load.c:  New.
      
      From-SVN: r276163
      Will Schmidt committed
    • rs6000-builtin.def: (LVSL... · be193fa7
      [gcc]
      
      2019-09-26  Will Schmidt <will_schmidt@vnet.ibm.com>
      	* config/rs6000/rs6000-builtin.def: (LVSL, LVSR, LVEBX, LVEHX,
      	LVEWX, LVXL, LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI,
      	LVXL_V16QI, LVX, LVX_V1TI, LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI,
      	LVX_V8HI, LVX_V16QI, LVLX, LVLXL, LVRX, LVRXL, LXSDX, LXVD2X_V1TI,
      	LXVD2X_V2DF, LXVD2X_V2DI, LXVDSX, LXVW4X_V4SF, LXVW4X_V4SI,
      	LXVW4X_V8HI, LXVW4X_V16QI, LD_ELEMREV_V1TI, LD_ELEMREV_V2DF,
      	LD_ELEMREV_V2DI, LD_ELEMREV_V4SF, LD_ELEMREV_V4SI, LD_ELEMREV_V8HI,
      	LD_ELEMREV_V16QI): Use the PURE attribute.
      
      [testsuite]
      
      2019-09-26  Will Schmidt <will_schmidt@vnet.ibm.com>
      	* gcc.target/powerpc/pure-builtin-redundant-load.c:  New.
      
      From-SVN: r276162
      Will Schmidt committed
    • [Darwin, PPC, Mode Iterators 2/n] Eliminate picbase expanders. · 4fc1d262
      We can use the mode iterators directly with an @pattern to avoid the
      need for an expander that was only there to pass the mode through.
      
      gcc/ChangeLog:
      
      2019-09-26  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/rs6000/darwin.md: Replace the expanders for
      	load_macho_picbase and reload_macho_picbase with use of '@'
      	in their respective define_insns.
      	(nonlocal_goto_receiver): Pass Pmode to gen_reload_macho_picbase.
      	* config/rs6000/rs6000-logue.c (rs6000_emit_prologue): Pass
      	Pmode to gen_load_macho_picbase.
      	* config/rs6000/rs6000.md: Likewise.
      
      From-SVN: r276159
      Iain Sandoe committed
    • re PR tree-optimization/91896 (ICE in vect_get_vec_def_for_stmt_copy, at tree-vect-stmts.c:1687) · 0bfc2041
      2019-09-25  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/91896
      	* tree-vect-loop.c (vectorizable_reduction): The single
      	def-use cycle optimization cannot apply when there's more
      	than one pattern stmt involved.
      
      	* gcc.dg/torture/pr91896.c: New testcase.
      
      From-SVN: r276158
      Richard Biener committed
    • tree-vect-loop.c (vect_analyze_loop_operations): Analyze loop-closed PHIs that… · 1b4dbccc
      tree-vect-loop.c (vect_analyze_loop_operations): Analyze loop-closed PHIs that are vect_internal_def.
      
      2019-09-26  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-loop.c (vect_analyze_loop_operations): Analyze
      	loop-closed PHIs that are vect_internal_def.
      	(vect_create_epilog_for_reduction): Exit early for nested cycles.
      	Simplify.
      	(vectorizable_lc_phi): New.
      	* tree-vect-stmts.c (vect_analyze_stmt): Call vectorize_lc_phi.
      	(vect_transform_stmt): Likewise.
      	* tree-vectorizer.h (stmt_vec_info_type): Add lc_phi_info_type.
      	(vectorizable_lc_phi): Declare.
      
      From-SVN: r276157
      Richard Biener committed
    • PR tree-optimization/91914 - Invalid strlen folding for offset into struct · 26cdf7bd
      gcc/testsuite/CHangeLog:
      	* gcc.dg/strlenopt-79.c: New test.
      
      From-SVN: r276156
      Martin Sebor committed
    • Define std::to_array for Debug Mode · c9fb0a85
      	* include/debug/array (to_array): Define for debug mode.
      
      From-SVN: r276155
      Jonathan Wakely committed
    • Implement C++20 constexpr changes to std::pair (P1032R1) · 7a9942f5
      	* include/bits/stl_pair.h (pair): Add _GLIBCXX20_CONSTEXPR to
      	piecewise construction constructor, assignment operators, and swap.
      	* include/std/tuple (pair::pair(piecewise_construct_t, tuple, tuple)):
      	Add _GLIBCXX20_CONSTEXPR.
      	(pair::pair(tuple, tuple, _Index_tuple, _Index_tuple)): Likewise.
      	* testsuite/20_util/pair/constexpr_assign.cc: New test.
      	* testsuite/20_util/pair/constexpr_swap.cc: New test.
      
      From-SVN: r276154
      Jonathan Wakely committed