1. 25 Oct, 2019 14 commits
    • [Fortran] OpenACC – permit common blocks in some clauses · ec084613
      2019-10-25  Cesar Philippidis <cesar@codesourcery.com>
      	    Tobias Burnus  <tobias@codesourcery.com>
      
      	gcc/fortran/
      	* openmp.c (gfc_match_omp_map_clause): Add and pass allow_commons
      	argument.
      	(gfc_match_omp_clauses): Update calls to permit common blocks for
      	OpenACC's copy/copyin/copyout, create/delete, host,
      	pcopy/pcopy_in/pcopy_out, present_or_copy, present_or_copy_in,
      	present_or_copy_out, present_or_create and self.
      
      	gcc/
      	* gimplify.c (oacc_default_clause): Privatize fortran common blocks.
      	(omp_notice_variable): Defer the expansion of DECL_VALUE_EXPR for
      	common block decls.
          
      	gcc/testsuite/
      	* gfortran.dg/goacc/common-block-1.f90: New test.
      	* gfortran.dg/goacc/common-block-2.f90: New test.
      	* gfortran.dg/goacc/common-block-3.f90: New test.
          
      	libgomp/
      	* testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
      	* testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
      	* testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
      
      Reviewed-by: Thomas Schwinge <thomas@codesourcery.com>
      
      Co-Authored-By: Tobias Burnus <tobias@codesourcery.com>
      
      From-SVN: r277451
      Cesar Philippidis committed
    • pr70100.c: Add -mvsx. · 643c11a1
              * gcc.target/powerpc/pr70100.c: Add -mvsx.
              Allow AIX ABI function name.
      
      From-SVN: r277450
      David Edelsohn committed
    • Guard use of concepts with feature test macro · f4568f03
      This fixes a regression when using Clang.
      
      	* include/bits/range_cmp.h: Check __cpp_lib_concepts before defining
      	concepts. Fix comment.
      
      From-SVN: r277449
      Jonathan Wakely committed
    • re PR tree-optimization/92222 (ice in useless_type_conversion_p, at gimple-expr.c:86) · 7098ab48
      2019-10-25  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/92222
      	* tree-vect-slp.c (_slp_oprnd_info::first_pattern): Remove.
      	(_slp_oprnd_info::second_pattern): Likewise.
      	(_slp_oprnd_info::any_pattern): New.
      	(vect_create_oprnd_info): Adjust.
      	(vect_get_and_check_slp_defs): Compute whether any stmt is
      	in a pattern.
      	(vect_build_slp_tree_2): Avoid building up a node from scalars
      	if any of the operand defs, not just the first, is in a pattern.
      
      	* gcc.dg/torture/pr92222.c: New testcase.
      
      From-SVN: r277448
      Richard Biener committed
    • tree-vect-slp.c (vect_get_and_check_slp_defs): Only fail swapping if we actually… · 77100812
      tree-vect-slp.c (vect_get_and_check_slp_defs): Only fail swapping if we actually have to modify the IL on a shared stmt.
      
      2019-10-25  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-slp.c (vect_get_and_check_slp_defs): Only fail
      	swapping if we actually have to modify the IL on a shared stmt.
      	(vect_build_slp_tree_2): Never fail swapping on shared stmts
      	because we no longer modify the IL.
      
      From-SVN: r277446
      Richard Biener committed
    • Fix failure in gcc.target/sve/reduc_strict_3.c · bafe6f6a
      Unwanted unrolling meant that we had more single-precision FADDAs
      than expected.
      
      2019-10-25  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/testsuite/
      	* gcc.target/aarch64/sve/reduc_strict_3.c (double_reduc1): Prevent
      	the loop from being unrolled.
      
      From-SVN: r277442
      Richard Sandiford committed
    • Update SVE tests for recent XPASSes · 7815eaa8
      Recent target-independent patches mean that several SVE tests
      now produce the code that we'd originally wanted them to produce.
      Really nice to see :-)
      
      This patch therefore updates the expected baseline, so that hopefully
      we don't regress from this point in future.
      
      2019-10-25  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/testsuite/
      	* gcc.target/aarch64/sve/loop_add_5.c: Remove XFAILs for tests
      	that now pass.
      	* gcc.target/aarch64/sve/reduc_1.c: Likewise.
      	* gcc.target/aarch64/sve/reduc_2.c: Likewise.
      	* gcc.target/aarch64/sve/reduc_5.c: Likewise.
      	* gcc.target/aarch64/sve/reduc_8.c: Likewise.
      	* gcc.target/aarch64/sve/slp_13.c: Likewise.
      	* gcc.target/aarch64/sve/slp_5.c: Likewise.  Update expected
      	WHILELO counts.
      	* gcc.target/aarch64/sve/slp_7.c: Likewise.
      
      From-SVN: r277441
      Richard Sandiford committed
    • Fix typo in dump_tree_statistics. · f88b78ae
      2019-10-25  Martin Liska  <mliska@suse.cz>
      
      	* tree.c (dump_tree_statistics): Use sorted index 'j' and not 'i'.
      
      From-SVN: r277440
      Martin Liska committed
    • Fix reductions for fully-masked loops · 89d0345a
      Now that vectorizable_operation vectorises most loop stmts involved
      in a reduction, it needs to be aware of reductions in fully-masked loops.
      The LOOP_VINFO_CAN_FULLY_MASK_P parts of vectorizable_reduction now only
      apply to cases that use vect_transform_reduction.
      
      This new way of doing things is definitely an improvement for SVE though,
      since it means we can lift the old restriction of not using fully-masked
      loops for reduction chains.
      
      2019-10-25  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* tree-vect-loop.c (vectorizable_reduction): Restrict the
      	LOOP_VINFO_CAN_FULLY_MASK_P handling to cases that will be
      	handled by vect_transform_reduction.  Allow fully-masked loops
      	to be used with reduction chains.
      	* tree-vect-stmts.c (vectorizable_operation): Handle reduction
      	operations in fully-masked loops.
      	(vectorizable_condition): Reject EXTRACT_LAST_REDUCTION
      	operations in fully-masked loops.
      
      gcc/testsuite/
      	* gcc.dg/vect/pr65947-1.c: No longer expect doubled dump lines
      	for FOLD_EXTRACT_LAST reductions.
      	* gcc.dg/vect/pr65947-2.c: Likewise.
      	* gcc.dg/vect/pr65947-3.c: Likewise.
      	* gcc.dg/vect/pr65947-4.c: Likewise.
      	* gcc.dg/vect/pr65947-5.c: Likewise.
      	* gcc.dg/vect/pr65947-6.c: Likewise.
      	* gcc.dg/vect/pr65947-9.c: Likewise.
      	* gcc.dg/vect/pr65947-10.c: Likewise.
      	* gcc.dg/vect/pr65947-12.c: Likewise.
      	* gcc.dg/vect/pr65947-13.c: Likewise.
      	* gcc.dg/vect/pr65947-14.c: Likewise.
      	* gcc.dg/vect/pr80631-1.c: Likewise.
      	* gcc.dg/vect/pr80631-2.c: Likewise.
      	* gcc.dg/vect/vect-cond-reduc-3.c: Likewise.
      	* gcc.dg/vect/vect-cond-reduc-4.c: Likewise.
      
      From-SVN: r277438
      Richard Sandiford committed
    • tree-vect-loop.c (vectorizable_reduction): Verify STMT_VINFO_REDUC_IDX on the to… · ea133b14
      tree-vect-loop.c (vectorizable_reduction): Verify STMT_VINFO_REDUC_IDX on the to be vectorized stmts is set up correctly.
      
      2019-10-25  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-loop.c (vectorizable_reduction): Verify
      	STMT_VINFO_REDUC_IDX on the to be vectorized stmts is set up
      	correctly.
      	* tree-vect-patterns.c (vect_mark_pattern_stmts): Transfer
      	STMT_VINFO_REDUC_IDX from the original stmts to the pattern
      	stmts.
      
      From-SVN: r277437
      Richard Biener committed
    • policy_data_structures_biblio.xml: Switch pubs.opengroup.org to https. · a0f9baa2
      	* doc/xml/manual/policy_data_structures_biblio.xml: Switch
      	pubs.opengroup.org to https.
      
      From-SVN: r277436
      Gerald Pfeifer committed
    • * doc/xml/gnu/gpl-3.0.xml: Switch www.gnu.org to https. · 19dc1c31
      From-SVN: r277435
      Gerald Pfeifer committed
    • status_cxx2020.xml: Add rows and update status. · d57ebc34
      2019-09-09  Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	* doc/xml/manual/status_cxx2020.xml: Add rows and update status.
      
      From-SVN: r277434
      Edward Smith-Rowland committed
    • Daily bump. · 6bdddc9f
      From-SVN: r277433
      GCC Administrator committed
  2. 24 Oct, 2019 26 commits
    • gimplify.h (omp_construct_selector_matches): Declare. · 135df52c
      	* gimplify.h (omp_construct_selector_matches): Declare.
      	* gimplify.c (struct gimplify_omp_ctx): Add code member.
      	(gimplify_call_expr): Call omp_resolve_declare_variant and remap
      	called function if needed for flag_openmp.
      	(gimplify_scan_omp_clauses): Set ctx->code.
      	(omp_construct_selector_matches): New function.
      	* omp-general.h (omp_constructor_traits_to_codes,
      	omp_context_selector_matches, omp_resolve_declare_variant): Declare.
      	* omp-general.c (omp_constructor_traits_to_codes,
      	omp_context_selector_matches, omp_resolve_declare_variant): New
      	functions.
      c-family/
      	* c-common.h (c_omp_context_selector_matches): Remove.
      	* c-omp.c (c_omp_context_selector_matches): Remove.
      	* c-attribs.c (c_common_attribute_table): Add
      	"omp declare target {host,nohost,block}" attributes.
      c/
      	* c-parser.c (c_finish_omp_declare_variant): Use
      	omp_context_selector_matches instead of
      	c_omp_context_selector_matches.
      	* c-decl.c (c_decl_attributes): Add "omp declare target block"
      	attribute in between declare target and end declare target
      	pragmas.
      cp/
      	* decl2.c (cplus_decl_attributes): Add "omp declare target block"
      	attribute in between declare target and end declare target
      	pragmas.
      testsuite/
      	* c-c++-common/gomp/declare-variant-8.c: New test.
      
      From-SVN: r277427
      Jakub Jelinek committed
    • arc.c (hwloop_optimize): Add missing space in string literal. · f8cb8bcd
      	* config/arc/arc.c (hwloop_optimize): Add missing space in string
      	literal.
      	* config/rx/rx.c (rx_print_operand): Likewise.
      	* tree-vect-data-refs.c (vect_analyze_data_refs): Likewise.
      	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Likewise.
      	* ipa-sra.c (create_parameter_descriptors, process_scan_results):
      	Likewise.
      	* genemit.c (emit_c_code): Likewise.
      	* plugin.c (try_init_one_plugin): Likewise.  Formatting fix.
      cp/
      	* call.c (convert_arg_to_ellipsis): Add missing space in string
      	literal.
      
      From-SVN: r277426
      Jakub Jelinek committed
    • symbols-summary.h (fast_function_summary<T *, [...]): Free m_vector. · ea3628bd
      	* symbols-summary.h (fast_function_summary<T *, V>::release,
      	fast_call_summary<T *, V>::release): Free m_vector.
      
      From-SVN: r277425
      Jan Hubicka committed
    • cgraphunit.c (symbol_table::process_new_functions): Call ipa_free_size_summary. · f658ad30
      
      	* cgraphunit.c (symbol_table::process_new_functions): Call
      	ipa_free_size_summary.
      	* ipa-cp.c (ipcp_cloning_candidate_p): Update.
      	(devirtualization_time_bonus): Update.
      	(ipcp_propagate_stage): Update.
      	* ipa-fnsummary.c (ipa_size_summaries): New.
      	(ipa_fn_summary_alloc): Alloc size summary.
      	(dump_ipa_call_summary): Update.
      	(ipa_dump_fn_summary): Update.
      	(analyze_function_body): Update.
      	(compute_fn_summary): Likewise.
      	(ipa_get_stack_frame_offset): New function.
      	(inline_update_callee_summaries): Do not update frame offsets.
      	(ipa_merge_fn_summary_after_inlining): Update frame offsets here;
      	remove call and function summary.
      	(ipa_update_overall_fn_summary): Update.
      	(inline_read_section): Update.
      	(ipa_fn_summary_write): Update.
      	(ipa_free_fn_summary): Do not remove summaries.
      	(ipa_free_size_summary): New.
      	(release summary pass): Also run at WPA.
      	* ipa-fnsummary.h (ipa_size_summary): Declare.
      	(ipa_fn_summary): Remove size, self_size, stack_frame_offset,
      	estimated_self_stack_size.
      	(ipa_size_summary_t): New type.
      	(ipa_size_summaries): Declare.
      	(ipa_free_size_summary): Declare.
      	(ipa_get_stack_frame_offset): Declare.
      	* ipa-icf.c (sem_function::merge): Update.
      	* ipa-inline-analysis.c (estimate_size_after_inlining): Update.
      	(estimate_growth): Update.
      	(growth_likely_positive): Update.
      	(clone_inlined_nodes): Update.
      	(inline_call): Update.
      	* ipa-inline.c (caller_growth_limits): Update.
      	(edge_badness): Update.
      	(recursive_inlining): Update.
      	(inline_small_functions): Update.
      	(inline_to_all_callers_1): Update.
      	* ipa-prop.h (ipa_edge_args_sum_t): Update comment.
      	* lto-partition.c (add_symbol_to_partition_1): Update.
      	(undo_parittion): Update.
      
      From-SVN: r277424
      Jan Hubicka committed
    • rs6000: Implement [u]avg<mode>3_ceil · 90a15807
      We already had those in fact, just under other names.  Use the standard
      names so that the vectorizer can use it.
      
      
      	* config/rs6000/altivec.md (altivec_vavgu<VI_char>): Rename to...
      	(uavg<mode>3_ceil): ... This.
      	(altivec_vavgs<VI_char>): Rename to...
      	(avg<mode>3_ceil): ... This.
      	* config/rs6000/rs6000-builtin.def (VAVGUB, VAVGSB, VAVGUH, VAVGSH,
      	VAVGUW, VAVGSW): Adjust.
      
      From-SVN: r277421
      Segher Boessenkool committed
    • Add missing space to diagnostic in reshape_init_r. · 1c95aee0
      	* decl.c (reshape_init_r): Add missing space.
      
      From-SVN: r277419
      Marek Polacek committed
    • [C++ PATCH] Template parm index fix · bdf1426d
      https://gcc.gnu.org/ml/gcc-patches/2019-10/msg01761.html
      	* pt.c (reduce_template_parm_level): Attach the new TPI to the new
      	DECL.
      	(convert_generic_types_to_packs): Pass the copied type to
      	reduce_template_parm_level.
      
      From-SVN: r277416
      Nathan Sidwell committed
    • [dump] small source cleanup · 84d2160d
      https://gcc.gnu.org/ml/gcc-patches/2019-10/msg01760.html
      	* dumpfile.c (dump_begin): Reorder decls to use RAII.
      
      From-SVN: r277415
      Nathan Sidwell committed
    • Revert ABI changes to std::allocator in C++20 · 75c6a925
      The recent C++20 changes to remove the std::allocator<void> explicit
      specialization and the destructor in the std::allocator primary template
      change the result of some is_trivially_xxx type traits. To avoid those
      changes, this patch restores the explicit specialization and the
      destructor.
      
      In order to meet the C++20 requirements the std::allocator<void>
      explicit specialization must provide the same interface as the primary
      template (except for the unusable allocate and deallocate member
      functions) and the destructor in the primary template must be constexpr.
      
      	* include/bits/allocator.h (allocator<void>): Restore the explicit
      	specialization for C++20, but make its API consistent with the primary
      	template.
      	(allocator::~allocator()): Restore the destructor for C++20, but make
      	it constexpr.
      	* testsuite/20_util/allocator/rebind_c++20.cc: Check allocator<void>.
      	* testsuite/20_util/allocator/requirements/typedefs_c++20.cc: Likewise.
      	* testsuite/20_util/allocator/void.cc: Check that constructors and
      	destructors are trivial. Check for converting constructor in C++20.
      	* testsuite/ext/malloc_allocator/variadic_construct.cc: Simplify
      	dejagnu target selector.
      	* testsuite/ext/new_allocator/variadic_construct.cc: Likewise.
      
      From-SVN: r277410
      Jonathan Wakely committed
    • ipa-sra-19.c: Avoid unprototyped function · bf037872
      Power and IBM Z require a function prototype if a vector argument is
      passed.  Complete the prototype of k to prevent errors from being
      triggered on these platforms
      
      gcc/testsuite/ChangeLog:
      
      2019-10-24  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* gcc.dg/ipa/ipa-sra-19.c: Remove dg-skip-if. Add argument type to
      	prototype of k.
      
      From-SVN: r277409
      Andreas Krebbel committed
    • Make gt_pch_nx unreachable in symbol-summary classes. · 315d4248
      2019-10-24  Martin Liska  <mliska@suse.cz>
      
      	* symbol-summary.h (gt_pch_nx): Mark all functions
      	with gcc_unreachable as we do not expect to be called.
      
      From-SVN: r277408
      Martin Liska committed
    • Finish moving constraint and logic functionality of out pt.c. · 79c05c2b
      Also, reimplement and re-enable subsumption caching.
      
      gcc/cp/
      	* config-lang.in (gtfiles): Add logic.cc.
      	* constraint.cc (atomic_constraints_identical_p): Add assertions.
      	(hash_atomic_constraint): Likewise.
      	(constraints_equivalent_p): New.
      	(inchash::add_constraint): New.
      	(iterative_hash_constraint): New.
      	(decl_constraints): Moved from pt.c.
      	(get_constraints): Likewise.
      	(set_constraints): Likewise.
      	(remove_constraints): Likewise.
      	* cp-tree.h (CONSTR_P): New.
      	(init_constraint_processing): Remove.
      	(constraints_equivalent_p, iterative_hash_constraint): Declare.
      	* decl.c (cxx_init_decl_processing): Don't initialize constraints.
      	* logic.cc (subsumption_entry): Moved from pt.c.
      	(subsumption_hasher): Likewise.
      	(subsumption_cache): Likewise.
      	(lookup_subsumption): Likewise.
      	(save_subsumption): Likewise.
      	(subsumes_constraints_nonnull): Use subsumption cache.
      	* pt.c: Move aforementioned declarations out of this file.
      	(init_constraint_processing): Remove.
      
      From-SVN: r277407
      Andrew Sutton committed
    • tree-vect-slp.c (vect_get_and_check_slp_defs): For reduction chains try harder… · 4352288a
      tree-vect-slp.c (vect_get_and_check_slp_defs): For reduction chains try harder with operand swapping and instead of putting a...
      
      2019-10-24  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-slp.c (vect_get_and_check_slp_defs): For reduction
      	chains try harder with operand swapping and instead of
      	putting a shifted chain into the reduction operands put
      	a repetition of the final reduction op there as if we'd
      	reassociate the expression.
      
      	* gcc.dg/vect/slp-reduc-10a.c: New testcase.
      	* gcc.dg/vect/slp-reduc-10b.c: Likewise.
      	* gcc.dg/vect/slp-reduc-10c.c: Likewise.
      	* gcc.dg/vect/slp-reduc-10d.c: Likewise.
      	* gcc.dg/vect/slp-reduc-10e.c: Likewise.
      
      From-SVN: r277406
      Richard Biener committed
    • Simplify common case of use_future_t that uses std::allocator · 5ce55f3f
      There is no need to store and pass around the allocator object when it's
      an instance of std::allocator. Define a partial specialization of
      std::use_future_t and the corresponding completion token so that no
      allocator is stored. Overload the completion handler constructor to not
      expect an allocator to be stored.
      
      	* include/experimental/executor (__use_future_ct, use_future_t):
      	Define partial specializations for std::allocator.
      	(__use_future_ch): Overload constructor for completion tokens using
      	std::allocator.
      
      From-SVN: r277404
      Jonathan Wakely committed
    • ipa-reference.c (ipa_reference_optimization_summary_d): Rename statics_not_read… · abebffc6
      ipa-reference.c (ipa_reference_optimization_summary_d): Rename statics_not_read and statics_not_written to statics_read and...
      
      
      	* ipa-reference.c (ipa_reference_optimization_summary_d): Rename
      	statics_not_read and statics_not_written to statics_read and
      	statics_written respectively.
      	(no_module_statics): New static var.
      	(ipa_reference_get_not_read_global): Rename to ...
      	(ipa_reference_get_read_global): ... this.
      	(ipa_reference_get_not_written_global): Rename to ...
      	(ipa_reference_get_written_global): ... this.
      	(dump_static_vars_set_to_file): Dump no_module_statics.
      	(copy_static_var_set): Add for propagation parameter.
      	(ipa_init): Initialize no_module_statics.
      	(ipa_ref_opt_summary_t::duplicate): Update.
      	(ipa_ref_opt_summary_t::remove): Update.
      	(propagate): Update.
      	(write_node_summary_p): Look correctly for bitmap differences.
      	(ipa_reference_write_optimization_summary): Update.
      	(ipa_reference_read_optimization_summary): Update.
      	* ipa-reference.h
      	(ipa_reference_get_not_read_global): Rename to ...
      	(ipa_reference_get_read_global): ... this.
      	(ipa_reference_get_not_written_global): Rename to ...
      	(ipa_reference_get_written_global): ... this.
      	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Update.
      	(call_may_clobber_ref_p_1): Update.
      
      From-SVN: r277403
      Jan Hubicka committed
    • MSP430: Remove unused msp430_hard_regno_nregs_*_padding functions · 39a6e72a
      2019-10-24  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* config/msp430/msp430.c (msp430_hard_regno_nregs_has_padding): Remove
      	and add comment.
      	(msp430_hard_regno_nregs_with_padding): Remove.
      
      From-SVN: r277395
      Jozef Lawrynowicz committed
    • MSP430: Tweaks to generation of 430X instructions · d8e4dc54
      gcc/ChangeLog:
      
      2019-10-24  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* config/msp430/constraints.md: Allow post_inc for "Ya" constraint.
      	* config/msp430/msp430.md (430x_shift_left): Use RLAM when the constant
      	shift amount is between 1 and 4.
      	(430x_arithmetic_shift_right): Use RRAM when the constant shift amount
      	is between 1 and 4.
      
      gcc/testsuite/ChangeLog:
      
      2019-10-24  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* gcc.target/msp430/emulate-slli.c: Skip for -mcpu=msp430.
      	Add shift by a constant 5 bits.
      	Update scan-assembler directives.
      	* gcc.target/msp430/emulate-srai.c: Likewise.
      	* gcc.target/msp430/emulate-srli.c: Skip for -mcpu=msp430.
      
      From-SVN: r277394
      Jozef Lawrynowicz committed
    • re PR tree-optimization/92205 (ICE in vect_get_vec_def_for_stmt_copy, at… · e2275947
      re PR tree-optimization/92205 (ICE in vect_get_vec_def_for_stmt_copy, at tree-vect-stmts.c:1688 since r277322)
      
      2019-10-24  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/92205
      	* tree-vect-loop.c (vectorizable_reduction): Restrict
      	search for alternate vectype_in to lane-reducing patterns
      	we support.
      
      	* gcc.dg/vect/pr92205.c: New testcase.
      
      From-SVN: r277375
      Richard Biener committed
    • re PR tree-optimization/92203 (ICE in eliminate_stmt, at tree-ssa-sccvn.c:5492) · ee80f0c6
      2019-10-24  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/92203
      	* treee-ssa-sccvn.c (eliminate_dom_walker::eliminate_stmt):
      	Skip eliminating conversion stmts inserted by insertion.
      
      	* gcc.dg/torture/pr92203.c: New testcase.
      
      From-SVN: r277374
      Richard Biener committed
    • re PR tree-optimization/65930 (Reduction with sign-change not handled) · 3574e5df
      2019-10-24  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/65930
      	* gcc.dg/vect/vect-reduc-2short.c: Fix typo.
      
      From-SVN: r277373
      Richard Biener committed
    • re PR tree-optimization/65930 (Reduction with sign-change not handled) · 0caece2c
      2019-10-24  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/65930
      	* gcc.dg/vect/vect-reduc-2char-big-array.c: Adjust again.
      	* gcc.dg/vect/vect-reduc-2char.c: Likewise.
      	* gcc.dg/vect/vect-reduc-2short.c: Likewise.
      	* gcc.dg/vect/vect-reduc-dot-s8b.c: Likewise.
      	* gcc.dg/vect/vect-reduc-pattern-2c.c: Likewise.
      
      From-SVN: r277372
      Richard Biener committed
    • PR libstdc++/88338 Implement P0898R3, C++20 concepts library · 02819d39
      The implementation is already complete but this updates the docs and
      adds tests for the feature test macro.
      
      	* doc/xml/manual/status_cxx2020.xml: Update status.
      	* doc/html/*: Regenerate.
      	* testsuite/std/concepts/1.cc: New test.
      	* testsuite/std/concepts/2.cc: New test.
      
      From-SVN: r277371
      Jonathan Wakely committed
    • Define std::uniform_random_bit_generator concept for C++20 · bbf0495d
      	* include/bits/random.h (uniform_random_bit_generator): Define for
      	C++20.
      	* testsuite/26_numerics/random/concept.cc: New test.
      	* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error line.
      
      From-SVN: r277369
      Jonathan Wakely committed
    • S/390: Use UNSPEC_GET_TP for thread pointer loads · 8f4f98f6
      gcc/ChangeLog:
      
      2019-10-24  Ilya Leoshkevich  <iii@linux.ibm.com>
      
      	* config/s390/s390.c (s390_get_thread_pointer): Use
      	gen_get_thread_pointer.
      	(s390_expand_split_stack_prologue): Likewise.
      	* config/s390/s390.md (UNSPEC_GET_TP): New UNSPEC.
      	(*get_tp_31): New 31-bit splitter for UNSPEC_GET_TP.
      	(*get_tp_64): New 64-bit splitter for UNSPEC_GET_TP.
      	(get_thread_pointer<mode>): Use UNSPEC_GET_TP, use
      	parameterized name.
      
      gcc/testsuite/ChangeLog:
      
      2019-10-24  Ilya Leoshkevich  <iii@linux.ibm.com>
      
      	* gcc.target/s390/load-thread-pointer-once-2.c: New test.
      
      From-SVN: r277368
      Ilya Leoshkevich committed
    • Fix another UBSAN in Fortran coarray. · d136595d
      2019-10-24  Martin Liska  <mliska@suse.cz>
      
      	PR fortran/92174
      	* array.c (gfc_resolve_array_spec): Break the loop
      	for out of bounds index.
      	* resolve.c (is_non_constant_shape_array): Likewise.
      
      From-SVN: r277367
      Martin Liska committed
    • tree-vect-slp.c (vect_analyze_slp): When reduction group SLP discovery fails try… · 0214d31a
      tree-vect-slp.c (vect_analyze_slp): When reduction group SLP discovery fails try to handle the reduction as part of...
      
      2019-10-24  Richard Biener  <rguenther@suse.de>
      
      	* tree-vect-slp.c (vect_analyze_slp): When reduction group
      	SLP discovery fails try to handle the reduction as part
      	of SLP reduction discovery.
      
      	* gcc.dg/vect/slp-reduc-9.c: New testcase.
      
      From-SVN: r277366
      Richard Biener committed