aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-10-25Merge from trunk revision 277462.gccgoIan Lance Taylor
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gccgo@277464 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-25PR c++/91581 - ICE in exception-specification of defaulted ctor.Marek Polacek
* g++.dg/cpp0x/noexcept55.C: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277462 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-25Use implicitly-defined copy operations for test iteratorsJonathan Wakely
All of these special member functions do exactly what the compiler would do anyway. By defining them as defaulted for C++11 and later we prevent move constructors and move assignment operators being defined (which is consistent with the previous semantics). Also move default init of the input_iterator_wrapper members from the derived constructor to the protected base constructor. * testsuite/util/testsuite_iterators.h (output_iterator_wrapper) (input_iterator_wrapper, forward_iterator_wrapper) bidirectional_iterator_wrapper, random_access_iterator_wrapper): Remove user-provided copy constructors and copy assignment operators so they are defined implicitly. (input_iterator_wrapper): Initialize members in default constructor. (forward_iterator_wrapper): Remove assignments to members of base. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277459 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-25Fix compilation with ClangJonathan Wakely
The new constexpr destructor on std::allocator breaks compilation with Clang in C++2a mode. This only makes it constexpr if the compiler supports the P0784R7 features. * include/bits/allocator.h: Check __cpp_constexpr_dynamic_alloc before making the std::allocator destructor constexpr. * testsuite/20_util/allocator/requirements/constexpr.cc: New test. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277458 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-25 PR target/85969Georg-Johann Lay
* config/avr/gen-avr-mmcu-specs.c (str_prefix_p): Remove unused static function. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277455 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-25[Fortran] OpenACC – permit common blocks in some clausesCesar Philippidis
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> git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277451 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-25 * gcc.target/powerpc/pr70100.c: Add -mvsx.David Edelsohn
Allow AIX ABI function name. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277450 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-25Guard use of concepts with feature test macroJonathan Wakely
This fixes a regression when using Clang. * include/bits/range_cmp.h: Check __cpp_lib_concepts before defining concepts. Fix comment. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277449 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-252019-10-25 Richard Biener <rguenther@suse.de>Richard Biener
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277448 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-252019-10-25 Richard Biener <rguenther@suse.de>Richard Biener
* 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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277446 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-25Fix failure in gcc.target/sve/reduc_strict_3.cRichard Sandiford
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277442 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-25Update SVE tests for recent XPASSesRichard Sandiford
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277441 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-25Fix typo in dump_tree_statistics.Martin Liska
2019-10-25 Martin Liska <mliska@suse.cz> * tree.c (dump_tree_statistics): Use sorted index 'j' and not 'i'. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277440 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-25Fix reductions for fully-masked loopsRichard Sandiford
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277438 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-252019-10-25 Richard Biener <rguenther@suse.de>Richard Biener
* 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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277437 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-25 * doc/xml/manual/policy_data_structures_biblio.xml: SwitchGerald Pfeifer
pubs.opengroup.org to https. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277436 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-25 * doc/xml/gnu/gpl-3.0.xml: Switch www.gnu.org to https.Gerald Pfeifer
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277435 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-252019-09-09 Edward Smith-Rowland <3dw4rd@verizon.net>Edward Smith-Rowland
* doc/xml/manual/status_cxx2020.xml: Add rows and update status. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277434 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-25Daily bump.GCC Administrator
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277433 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24 * gimplify.h (omp_construct_selector_matches): Declare.Jakub Jelinek
* 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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277427 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24 * config/arc/arc.c (hwloop_optimize): Add missing space in stringJakub Jelinek
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277426 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24 * symbols-summary.h (fast_function_summary<T *, V>::release,Jan Hubicka
fast_call_summary<T *, V>::release): Free m_vector. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277425 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24 * cgraphunit.c (symbol_table::process_new_functions): CallJan Hubicka
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277424 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24rs6000: Implement [u]avg<mode>3_ceilSegher Boessenkool
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277421 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24Add missing space to diagnostic in reshape_init_r.Marek Polacek
* decl.c (reshape_init_r): Add missing space. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277419 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24[C++ PATCH] Template parm index fixNathan Sidwell
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277416 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24[dump] small source cleanupNathan Sidwell
https://gcc.gnu.org/ml/gcc-patches/2019-10/msg01760.html * dumpfile.c (dump_begin): Reorder decls to use RAII. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277415 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24Revert ABI changes to std::allocator in C++20Jonathan Wakely
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277410 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24ipa-sra-19.c: Avoid unprototyped functionAndreas Krebbel
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277409 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24Make gt_pch_nx unreachable in symbol-summary classes.Martin Liska
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277408 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24Finish moving constraint and logic functionality of out pt.c.Andrew Sutton
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277407 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-242019-10-24 Richard Biener <rguenther@suse.de>Richard Biener
* 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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277406 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24Simplify common case of use_future_t that uses std::allocatorJonathan Wakely
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277404 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24 * ipa-reference.c (ipa_reference_optimization_summary_d): RenameJan Hubicka
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277403 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24MSP430: Remove unused msp430_hard_regno_nregs_*_padding functionsJozef Lawrynowicz
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277395 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24MSP430: Tweaks to generation of 430X instructionsJozef Lawrynowicz
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277394 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-242019-10-24 Richard Biener <rguenther@suse.de>Richard Biener
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277375 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-242019-10-24 Richard Biener <rguenther@suse.de>Richard Biener
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277374 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-242019-10-24 Richard Biener <rguenther@suse.de>Richard Biener
PR tree-optimization/65930 * gcc.dg/vect/vect-reduc-2short.c: Fix typo. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277373 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-242019-10-24 Richard Biener <rguenther@suse.de>Richard Biener
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277372 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24PR libstdc++/88338 Implement P0898R3, C++20 concepts libraryJonathan Wakely
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277371 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24Define std::uniform_random_bit_generator concept for C++20Jonathan Wakely
* 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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277369 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24S/390: Use UNSPEC_GET_TP for thread pointer loadsIlya Leoshkevich
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277368 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24Fix another UBSAN in Fortran coarray.Martin Liska
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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277367 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-242019-10-24 Richard Biener <rguenther@suse.de>Richard Biener
* 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. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277366 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24[C++ PATCH] 'std' identifier not neededNathan Sidwell
https://gcc.gnu.org/ml/gcc-patches/2019-10/msg01707.html * cp-tree.c (CPTI_STD_IDENTIFIER): Delete. (std_identifier): Delete. (DECL_NAME_SPACE_STD_P): Compare against std_node. * decl.c (initialize_predefined_identifiers): 'std' is not needed. (cxx_init_decl_processing): Adjust creation of ::std. Use {push,pop}_nested_namespace. (cxx_builtin_function): Use {push,pop}_nested_namespace. * except.c (init_exception_processing): Likewise. * rtti.c (init_rtti_processing): Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277365 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24 * gcc.target/powerpc/pr70010.c: Add -Wno-psabi.David Edelsohn
* gcc.target/powerpc/pr70010-[12].c: Require LTO. * gcc.target/powerpc/pr91275.c: Add -mcpu=power8. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277363 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-24Daily bump.GCC Administrator
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277362 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-232019-10-23 Steven G. Kargl <kargl@gcc.gnu.org>Steven G. Kargl
dump-parse-tree.c (show_expr): Add dumping of BT_BOZ constants. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277358 138bc75d-0d04-0410-961f-82ee72b054a4
2019-10-23Rework how prefixed instruction length is calculated.Michael Meissner
2019-10-23 Michael Meissner <meissner@linux.ibm.com> * config/rs6000/rs6000-protos.h (rs6000_adjust_insn_length): New declaration. * config/rs6000/rs6000.c (rs6000_insn_cost): Use num_insns insn attribute if it exists, rather than the insn size. If we use the insn size, adjust the size to remove the extra size that prefixed instructions take. (rs6000_adjust_insn_length): New function. * config/rs6000/rs6000.h (ADJUST_INSN_LENGTH): New target hook to update the instruction sized if prefixed instructions are used. * config/rs6000/rs6000.md (prefixed_length attribute): Delete. (non_prefixed_length attribute): Delete. (num_insns attribute): New insn attribute to return the number of instructions. (max_prefixed_insns attribute): New insn attribute to return the maximum number of prefixed instructions in an insn. (length attribute): Do not adjust for prefix instructions here, punt to ADJUST_INSN_LENGTH. (mov<mode>_64bit): Set max_prefixed_insns and num_insns. (movtd_64bit_nodm): Set max_prefixed_insns and num_insns. (mov<mode>_ppc64): Set max_prefixed_insns and num_insns. * config/rs6000/vsx.md: (vsx_mov<mode>_64bit): Set max_prefixed_insns and num_insns. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@277352 138bc75d-0d04-0410-961f-82ee72b054a4