- 25 Oct, 2019 14 commits
-
-
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 -
* gcc.target/powerpc/pr70100.c: Add -mvsx. Allow AIX ABI function name. From-SVN: r277450
David Edelsohn committed -
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 -
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 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 -
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 -
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 -
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 -
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 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 -
* doc/xml/manual/policy_data_structures_biblio.xml: Switch pubs.opengroup.org to https. From-SVN: r277436
Gerald Pfeifer committed -
-
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 -
From-SVN: r277433
GCC Administrator committed
-
- 24 Oct, 2019 26 commits
-
-
* 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 -
* 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 *, 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. * 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 -
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 -
* decl.c (reshape_init_r): Add missing space. From-SVN: r277419
Marek Polacek committed -
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 -
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 -
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 -
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 -
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 -
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 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 -
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 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 -
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 -
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 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 -
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 -
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 -
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 -
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 -
* 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 -
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 -
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 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
-