aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-10-28Daily bump.GCC Administrator1-1/+1
From-SVN: r277499
2019-10-27* locales.c (iso_3166): Add missing comma after "United-States".Jakub Jelinek2-1/+5
From-SVN: r277492
2019-10-27fprintf-2.c: Silence a Free/NetBSD libc warning.Andreas Tobler4-0/+9
2019-10-27 Andreas Tobler <andreast@gcc.gnu.org> * gcc.c-torture/execute/fprintf-2.c: Silence a Free/NetBSD libc warning. * gcc.c-torture/execute/printf-2.c: Likewise. * gcc.c-torture/execute/user-printf.c: Likewise. From-SVN: r277491
2019-10-27re PR fortran/86248 (LEN_TRIM in specification expression causes link failure)Paul Thomas6-23/+76
2019-10-27 Paul Thomas <pault@gcc.gnu.org> PR fortran/86248 * resolve.c (flag_fn_result_spec): Correct a typo before the function declaration. * trans-decl.c (gfc_sym_identifier): Boost the length of 'name' to allow for all variants. Simplify the code by using a pointer to the symbol's proc_name and taking the return out of each of the conditional branches. Allow symbols with fn_result_spec set that do not come from a procedure namespace and have a module name to go through the non-fn_result_spec branch. 2019-10-27 Paul Thomas <pault@gcc.gnu.org> PR fortran/86248 * gfortran.dg/char_result_19.f90 : New test. * gfortran.dg/char_result_mod_19.f90 : Module for the new test. From-SVN: r277487
2019-10-27ipa-prop.c (ipa_propagate_indirect_call_infos): Do not remove jump functions.Jan Hubicka2-1/+5
* ipa-prop.c (ipa_propagate_indirect_call_infos): Do not remove jump functions. From-SVN: r277486
2019-10-27fix cgraph commentEric Botcazou3-2/+7
This comment cut&pasto fix was split out of another patch I'm about to contribute, as the current version of the patch no longer touches cgraph data structures. for gcc/ChangeLog * cgraph.c (cgraph_node::rtl_info): Fix cut&pasto in comment. * cgraph.h (cgraph_node::rtl_info): Likewise. From-SVN: r277485
2019-10-27ipa-cp.c (propagate_constants_across_call): If args are not available just ↵Jan Hubicka5-16/+74
drop everything to varying. * ipa-cp.c (propagate_constants_across_call): If args are not available just drop everything to varying. (find_aggregate_values_for_callers_subset): Watch for missing edge summary. (find_more_scalar_values_for_callers_subs): Likewise. * ipa-prop.c (ipa_compute_jump_functions_for_edge, update_jump_functions_after_inlining, propagate_controlled_uses): Watch for missing summaries. (ipa_propagate_indirect_call_infos): Remove summary after propagation is finished. (ipa_write_node_info): Watch for missing summaries. (ipa_read_edge_info): Create new ref. (ipa_edge_args_sum_t): Add remove. (IPA_EDGE_REF_GET_CREATE): New macro. * ipa-fnsummary.c (evaluate_properties_for_edge): Watch for missing edge summary. (remap_edge_change_prob): Likewise. From-SVN: r277484
2019-10-27ipa-inline-transform.c (inline_call): update function summaries after ↵Jan Hubicka2-0/+7
expanidng thunk. * ipa-inline-transform.c (inline_call): update function summaries after expanidng thunk. From-SVN: r277483
2019-10-27ipa-icf.c (sem_function::merge): Update function summaries.Jan Hubicka3-1/+8
* ipa-icf.c (sem_function::merge): Update function summaries. * ipa-prop.h (ipa_get_param): Do not sanity check for WPA. From-SVN: r277482
2019-10-27Remove redudant <iptr> when operand already has scalar mode.Hongtao Liu2-6/+12
gcc/ * config/i386/sse.md (*<sse>_vm<plusminus_insn><mode>3, <sse>_vm<multdiv_mnemonic><mode>3): Remove <iptr> since operand is already scalar mode. (iptr): Remove SF/DF. From-SVN: r277481
2019-10-27Daily bump.GCC Administrator1-1/+1
From-SVN: r277480
2019-10-26codecvt.xml: Switch pubs.opengroup.org to https.Gerald Pfeifer4-3/+9
* doc/xml/manual/codecvt.xml: Switch pubs.opengroup.org to https. * doc/xml/manual/locale.xml (LC_ALL): Ditto. * doc/xml/manual/messages.xml: Ditto. From-SVN: r277476
2019-10-26baseline_symbols.txt: Update.John David Anglin2-0/+450
* config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. From-SVN: r277475
2019-10-26rs6000: Fix allocate_stack in a corner case (PR91289)Segher Boessenkool2-4/+15
When we have -fstack-limit-symbol with sysv we can end up with a non- existing instruction (you cannot add an immediate to register 0). Fix this by using register 11 instead. It might be used for something else already though, so save and restore its value around this. In optimizing compiles these extra moves are usually removed again: the restore by cprop_hardreg, and then the save by rtl_dce. PR target/91289 * config/rs6000/rs6000-logue.c (rs6000_emit_allocate_stack): Don't add an immediate to r0; use r11 instead. Save and restore r11 to r0 around this. From-SVN: r277472
2019-10-26Adjust predicates and constraints of scalar insns.Hongtao Liu3-56/+101
Changelog gcc/ * config/i386/sse.md (<sse>_vm<plusminus_insn><mode>3<mask_scalar_name><round_scalar_name>, <sse>_vm<multdiv_mnemonic><mode>3<mask_scalar_name><round_scalar_name>, <sse>_vmsqrt<mode>2<mask_scalar_name><round_scalar_name>, <sse>_vm<code><mode>3<mask_scalar_name><round_saeonly_scalar_name>, <sse>_vmmaskcmp<mode>3): Change predicates from vector_operand to nonimmediate_operand, constraints xBm to xm, since scalar operations don't need memory address alignment. (avx512f_vmcmp<mode>3<round_saeonly_name>, avx512f_vmcmp<mode>3_mask<round_saeonly_name>): Replace round_saeonly_nimm_predicate with round_saeonly_nimm_scalar_predicate. (fmai_vmfmadd_<mode><round_name>, fmai_vmfmsub_<mode><round_name>, fmai_vmfnmadd_<mode><round_name>,fmai_vmfnmsub_<mode><round_name>, *fmai_fmadd_<mode>, *fmai_fmsub_<mode>, *fmai_fnmadd_<mode><round_name>, *fmai_fnmsub_<mode><round_name>, avx512f_vmfmadd_<mode>_mask3<round_name>, avx512f_vmfmadd_<mode>_maskz_1<round_name>, *avx512f_vmfmsub_<mode>_mask<round_name>, avx512f_vmfmsub_<mode>_mask3<round_name>, *avx512f_vmfmsub_<mode>_maskz_1<round_name>, *avx512f_vmfnmadd_<mode>_mask<round_name>, *avx512f_vmfnmadd_<mode>_mask3<round_name>, *avx512f_vmfnmadd_<mode>_maskz_1<round_name>, *avx512f_vmfnmsub_<mode>_mask<round_name>, *avx512f_vmfnmsub_<mode>_mask3<round_name>, *avx512f_vmfnmsub_<mode>_maskz_1<round_name>, cvtusi2<ssescalarmodesuffix>32<round_name>, cvtusi2<ssescalarmodesuffix>64<round_name>, ): Replace round_nimm_predicate with round_nimm_scalr_predicate. (avx512f_sfixupimm<mode><sd_maskz_name><round_saeonly_name>, avx512f_sfixupimm<mode>_mask<round_saeonly_name>, avx512er_vmrcp28<mode><round_saeonly_name>, avx512er_vmrsqrt28<mode><round_saeonly_name>, ): Replace round_saeonly_nimm_predicate with round_saeonly_nimm_scalar_predicate. (avx512dq_vmfpclass<mode><mask_scalar_merge_name>): Replace vector_operand with nonimmediate_operand. * config/i386/subst.md (round_scalar_nimm_predicate, round_saeonly_scalar_nimm_predicate): Replace vector_operand with nonimmediate_operand. From-SVN: r277470
2019-10-26Fix false dependence of scalar operation vrcp/vsqrt/vrsqrt/vrndscaleHongtao Liu6-32/+193
For instructions with xmm operand: op %xmmN,%xmmQ,%xmmQ ----> op %xmmN, %xmmN, %xmmQ for instruction with mem operand or gpr operand: op mem/gpr, %xmmQ, %xmmQ ---> using pass rpad ----> xorps %xmmN, %xmmN, %xxN op mem/gpr, %xmmN, %xmmQ Performance influence of SPEC2017 fprate which is tested on SKX ---- 503.bwaves_r -0.03% 507.cactuBSSN_r -0.22% 508.namd_r -0.02% 510.parest_r 0.37% 511.povray_r 0.74% 519.lbm_r 0.24% 521.wrf_r 2.35% 526.blender_r 0.71% 527.cam4_r 0.65% 538.imagick_r 0.95% 544.nab_r -0.37 549.fotonik3d_r 0.24% 554.roms_r 0.90% fprate geomean 0.50% ----- Changelog gcc/ * config/i386/i386.md (*rcpsf2_sse): Add avx_partial_xmm_update, prefer m constraint for TARGET_AVX. (*rsqrtsf2_sse): Ditto. (*sqrt<mode>2_sse): Ditto. (sse4_1_round<mode>2): separate constraint vm, add avx_partail_xmm_update, prefer m constraint for TARGET_AVX. * config/i386/sse.md (*sse_vmrcpv4sf2"): New define_insn used by pass rpad. (*<sse>_vmsqrt<mode>2<mask_scalar_name><round_scalar_name>*): Ditto. (*sse_vmrsqrtv4sf2): Ditto. (*avx512f_rndscale<mode><round_saeonly_name>): Ditto. (*sse4_1_round<ssescalarmodesuffix>): Ditto. (sse4_1_round<ssescalarmodesuffix>): Add m constraint and <iptr> pointer size modifier since vround support memory operand. gcc/testsuite * gcc.target/i386/pr87007-4.c: New test. * gcc.target/i386/pr87007-5.c: Ditto. From-SVN: r277469
2019-10-26Daily bump.GCC Administrator1-1/+1
From-SVN: r277468
2019-10-25PR c++/91581 - ICE in exception-specification of defaulted ctor.Marek Polacek2-0/+13
* g++.dg/cpp0x/noexcept55.C: New test. From-SVN: r277462
2019-10-25Use implicitly-defined copy operations for test iteratorsJonathan Wakely2-50/+47
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. From-SVN: r277459
2019-10-25Fix compilation with ClangJonathan Wakely3-1/+36
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. From-SVN: r277458
2019-10-25re PR target/85969 (avr/gen-avr-mmcu-specs.c:56: unused function ?)Georg-Johann Lay2-8/+6
PR target/85969 * config/avr/gen-avr-mmcu-specs.c (str_prefix_p): Remove unused static function. From-SVN: r277455
2019-10-25[Fortran] OpenACC – permit common blocks in some clausesCesar Philippidis12-28/+659
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
2019-10-25pr70100.c: Add -mvsx.David Edelsohn2-2/+7
* gcc.target/powerpc/pr70100.c: Add -mvsx. Allow AIX ABI function name. From-SVN: r277450
2019-10-25Guard use of concepts with feature test macroJonathan Wakely2-1/+8
This fixes a regression when using Clang. * include/bits/range_cmp.h: Check __cpp_lib_concepts before defining concepts. Fix comment. From-SVN: r277449
2019-10-25re PR tree-optimization/92222 (ice in useless_type_conversion_p, at ↵Richard Biener4-12/+42
gimple-expr.c:86) 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
2019-10-25tree-vect-slp.c (vect_get_and_check_slp_defs): Only fail swapping if we ↵Richard Biener2-33/+18
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
2019-10-25Fix failure in gcc.target/sve/reduc_strict_3.cRichard Sandiford2-0/+6
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
2019-10-25Update SVE tests for recent XPASSesRichard Sandiford9-58/+47
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
2019-10-25Fix typo in dump_tree_statistics.Martin Liska2-1/+5
2019-10-25 Martin Liska <mliska@suse.cz> * tree.c (dump_tree_statistics): Use sorted index 'j' and not 'i'. From-SVN: r277440
2019-10-25Fix reductions for fully-masked loopsRichard Sandiford19-60/+144
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
2019-10-25tree-vect-loop.c (vectorizable_reduction): Verify STMT_VINFO_REDUC_IDX on ↵Richard Biener3-1/+74
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
2019-10-25policy_data_structures_biblio.xml: Switch pubs.opengroup.org to https.Gerald Pfeifer2-1/+6
* doc/xml/manual/policy_data_structures_biblio.xml: Switch pubs.opengroup.org to https. From-SVN: r277436
2019-10-25* doc/xml/gnu/gpl-3.0.xml: Switch www.gnu.org to https.Gerald Pfeifer2-1/+5
From-SVN: r277435
2019-10-25status_cxx2020.xml: Add rows and update status.Edward Smith-Rowland2-0/+158
2019-09-09 Edward Smith-Rowland <3dw4rd@verizon.net> * doc/xml/manual/status_cxx2020.xml: Add rows and update status. From-SVN: r277434
2019-10-25Daily bump.GCC Administrator1-1/+1
From-SVN: r277433
2019-10-25gimplify.h (omp_construct_selector_matches): Declare.Jakub Jelinek16-194/+585
* 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
2019-10-25arc.c (hwloop_optimize): Add missing space in string literal.Jakub Jelinek10-15/+32
* 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
2019-10-24symbols-summary.h (fast_function_summary<T *, [...]): Free m_vector.Jan Hubicka2-0/+9
* symbols-summary.h (fast_function_summary<T *, V>::release, fast_call_summary<T *, V>::release): Free m_vector. From-SVN: r277425
2019-10-24cgraphunit.c (symbol_table::process_new_functions): Call ipa_free_size_summary.Jan Hubicka13-123/+243
* 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
2019-10-24rs6000: Implement [u]avg<mode>3_ceilSegher Boessenkool3-8/+17
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
2019-10-24Add missing space to diagnostic in reshape_init_r.Marek Polacek2-1/+5
* decl.c (reshape_init_r): Add missing space. From-SVN: r277419
2019-10-24[C++ PATCH] Template parm index fixNathan Sidwell2-14/+28
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
2019-10-24[dump] small source cleanupNathan Sidwell2-7/+7
https://gcc.gnu.org/ml/gcc-patches/2019-10/msg01760.html * dumpfile.c (dump_begin): Reorder decls to use RAII. From-SVN: r277415
2019-10-24Revert ABI changes to std::allocator in C++20Jonathan Wakely7-10/+64
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
2019-10-24ipa-sra-19.c: Avoid unprototyped functionAndreas Krebbel2-2/+6
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
2019-10-24Make gt_pch_nx unreachable in symbol-summary classes.Martin Liska2-26/+22
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
2019-10-24Finish moving constraint and logic functionality of out pt.c.Andrew Sutton7-168/+244
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
2019-10-24tree-vect-slp.c (vect_get_and_check_slp_defs): For reduction chains try ↵Richard Biener8-13/+464
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
2019-10-24Simplify common case of use_future_t that uses std::allocatorJonathan Wakely2-2/+48
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
2019-10-24ipa-reference.c (ipa_reference_optimization_summary_d): Rename ↵Jan Hubicka4-85/+151
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