- 21 Nov, 2019 25 commits
-
-
In vect-alias-check-1.c we unroll the inner loop and then vectorise the stores at a[c + 1][b]. Since the access has no guaranteed alignemnt, we need a realignment mechanism or support for unaligned accesses in order to vectorise. In vect-alias-check-18.c we use a reverse access and so need permute support in order to vectorise. I'm not really sure when this part of the testsuite prefers { xfail { ! foo } } and when it prefers { target foo }. xfail seems like the most common choice for the alignment restriction, whereas vect_int and vect_perm are mostly dg-require-effective-target style features, so I went with that combination. 2019-11-21 Richard Sandiford <richard.sandiford@arm.com> gcc/testsuite/ PR testsuite/92543 * gcc.dg/vect/vect-alias-check-1.c: XFAIL the alias check message if there is no realignment support and no support for unaligned accesses. * gcc.dg/vect/vect-alias-check-18.c: Restrict the test for the alias message to targets that have permute support. From-SVN: r278591
Richard Sandiford committed -
This patch fixes some cases in which we weren't checking whether we had a vector mode before calling related_vector_mode or before making vector optab queries. 2019-11-21 Richard Sandiford <richard.sandiford@arm.com> gcc/ PR tree-optimization/92595 * tree-vect-stmts.c (get_group_load_store_type): Add a VECTOR_MODE_P check. (vectorizable_store, vectorizable_load): Likewise. gcc/testsuite/ PR tree-optimization/92595 * g++.dg/vect/pr92595.cc: New test. From-SVN: r278590
Richard Sandiford committed -
Hello, This patch fixes arm acle testcase crc_hf_1.c by modifying the compiler options directive. Regression tested on arm-none-eabi and found no regressions. Ok for trunk? If ok, please commit on my behalf, I don't have the commit rights. Thanks, Srinath. Applied on behalf of Srinath. gcc/testsuite/ChangeLog: 2019-11-21 Srinath Parvathaneni <srinath.parvathaneni@arm.com> * gcc.target/arm/acle/crc_hf_1.c: Modify the compiler options directive from dg-options to dg-additional-options. From-SVN: r278588
Srinath Parvathaneni committed -
gcc/testsuite: * gcc.c-torture/execute/20030913-1.c: Rename glob to g. * gcc.c-torture/execute/960218-1.c: Rename glob to gl. * gcc.c-torture/execute/complex-6.c: Rename err to e. * gcc.dg/torture/ssa-pta-fn-1.c: Rename glob to g. libgomp: * testsuite/libgomp.c/pr39591-1.c: Rename err to e. * testsuite/libgomp.c/pr39591-2.c: Likewise. * testsuite/libgomp.c/pr39591-3.c: Likewise. * testsuite/libgomp.c/private-1.c: Likewise. * testsuite/libgomp.c/task-1.c: Likewise. * testsuite/libgomp.c/task-5.c: Renamed err to serr. From-SVN: r278571
Rainer Orth committed -
* parser.c (cp_parser_member_declaration): Don't attempt to print erroneous bit-field diagnostic if grokdeclarator returns error_mark_node. * g++.dg/parse/crash71.C: New test. From-SVN: r278570
Marek Polacek committed -
* ipa-inline.c (update_callee_keys): Add parameter UPDATE_SINCE. (resolve_noninline_speculation, inline_small_functions): Avoid redundant updates. From-SVN: r278566
Jan Hubicka committed -
Add a missing extern to ensure the test passes with -fno-common change. Committed as obvious. testsuite/ * gfortran.dg/global_vars_f90_init_driver.c: Add missing extern. From-SVN: r278557
Wilco Dijkstra committed -
2019-11-21 Richard Biener <rguenther@suse.de> * lra.c (lra_insn_recog_data_pool): New. (free_insn_recog_data): Adjust. (finish_insn_recog_data): Release lra_insn_recog_data_pool. (lra_set_insn_recog_data): Allocate from lra_insn_recog_data_pool. From-SVN: r278556
Richard Biener committed -
2019-11-21 Richard Biener <rguenther@suse.de> PR tree-optimization/92596 * tree-vect-slp.c (vect_build_slp_tree): Fix pasto. * gcc.dg/torture/pr92596-1.c: New testcase. From-SVN: r278555
Richard Biener committed -
* ipa-prop.h (ipa_release_agg_values): Add parameter RELEASE_VECTOR. From-SVN: r278554
Jan Hubicka committed -
ipa-fnsummary.c (evaluate_conditions_for_known_args): Be ready for some vectors to not be allocated. * ipa-fnsummary.c (evaluate_conditions_for_known_args): Be ready for some vectors to not be allocated. (evaluate_properties_for_edge): Document better; make known_vals and known_aggs caller allocated; avoid determining values of parameters which are not used. (ipa_merge_fn_summary_after_inlining): Pre allocate known_vals and known_aggs. * ipa-inline-analysis.c (do_estimate_edge_time): Likewise. (do_estimate_edge_size): Likewise. (do_estimate_edge_hints): Likewise. * ipa-cp.c (ipa_get_indirect_edge_target_1): Do not early exit when values are not known. (ipa_release_agg_values): Add option to not release vector itself. From-SVN: r278553
Jan Hubicka committed -
The test fp-int-convert-timode-1.c uses FE_TONEAREST without actually checking if the target has defined it. Like the rest of the tests I now add a check to see if the target has actually implemented it. This fixed Arm newlib target failures. Regtested on aarch64-none-elf and aarch64_be-none-elf and no issues. Committed under the GCC obvious rules. gcc/testsuite/ChangeLog: * gcc.dg/torture/fp-int-convert-timode-1.c: Add check for FE_TONEAREST. From-SVN: r278552
Tamar Christina committed -
2019-11-21 Richard Biener <rguenther@suse.de> * cfgloop.h (loop_iterator::~loop_iterator): Remove. (loop_iterator::to_visit): Use an auto_vec with internal storage. (loop_iterator::loop_iterator): Adjust. * cfganal.c (compute_dominance_frontiers_1): Fold into... (compute_dominance_frontiers): ... this. Hoist invariant get_immediate_dominator call. (compute_idf): Use a work-set instead of a work-list for more optimal iteration order and duplicate avoidance. * tree-into-ssa.c (mark_phi_for_rewrite): Avoid re-allocating the vector all the time, instead pre-allocate the vector only once. (delete_update_ssa): Simplify. * vec.h (va_heap::release): Disable -Wfree-nonheap-object around it. From-SVN: r278550
Richard Biener committed -
Bumping the cost of vec_to_scalar made the .s loop in gcc.target/aarch64/sve2/whilerw_1.c use a runtime profitability check, like the .d version already did. Since the cost model isn't really being tested here, the most robust fix seemed to be to disable it, which I should really have done from the outset. 2019-11-21 Richard Sandiford <richard.sandiford@arm.com> gcc/testsuite/ * gcc.target/aarch64/sve2/whilerw_1.c: Add -fno-vect-cost-model. Require x0 in the .d test too. From-SVN: r278549
Richard Sandiford committed -
re PR tree-optimization/91355 (optimized code does not call destructor while unwinding after exception) PR tree-optimization/91355 * tree-ssa-sink.c (select_best_block): Use >= rather than > for early_bb scaled count with best_bb count comparison. * g++.dg/torture/pr91355.C: New test. From-SVN: r278548
Jakub Jelinek committed -
This test fails on targets without symbol alias support, but we don't want to skip it entirely with the usual dg-requires, thus expect the error on the alias line. gcc/testsuite/ChangeLog: 2019-11-21 Iain Sandoe <iain@sandoe.co.uk> * gcc.dg/gnu2x-attrs-1.c: Expect an error for the alias case on Darwin. From-SVN: r278547
Iain Sandoe committed -
* ipa-fnsummary.h (enum ipa_hints_vals): Fix comment typo, preffer -> prefer. * ipa-inline.c (edge_badness): Likewise. * lto-streamer.h (class lto_location_cache): Likewise. * tree-ssa-sink.c (select_best_block): Likewise. Fix comment typos, gratutious -> gratuitous. From-SVN: r278546
Jakub Jelinek committed -
revert: re PR tree-optimization/91790 (ICE: verify_ssa failed (error: definition in block 2 follows the use)) 2019-11-21 Richard Biener <rguenther@suse.de> Revert 2019-09-17 Richard Biener <rguenther@suse.de> PR tree-optimization/91790 * tree-vect-stmts.c (vectorizable_load): For BB vectorization use the correct DR for setting up realignment. From-SVN: r278544
Richard Biener committed -
cfganal.c (pre_and_rev_post_order_compute_fn): Use an auto_bb_flag instead of an sbitmap for visited handling. 2019-11-21 Richard Biener <rguenther@suse.de> * cfganal.c (pre_and_rev_post_order_compute_fn): Use an auto_bb_flag instead of an sbitmap for visited handling. * lra.c (lra_insn_recog_data_pool): New. (free_insn_recog_data): Adjust. (finish_insn_recog_data): Release lra_insn_recog_data_pool. (lra_set_insn_recog_data): Allocate from lra_insn_recog_data_pool. * tree-ssa-structalias.c (equiv_class_hasher): Change to nofree. (equiv_class_obstack): New. (equiv_class_lookup_or_add): Allocate from equiv_class_obstack. (perform_var_substitution): Initialize equiv_class_obstack. (free_var_substitution_info): Free equiv_class_obstack. From-SVN: r278543
Richard Biener committed -
* ipa-inline.c (want_early_inline_function_p): Do not estimate edge growth when callee function is very large. * ipa-inline.h (estimate_min_edge_growth): New. From-SVN: r278542
Jan Hubicka committed -
* ipa-fnsummary.c (ipa_fn_summary::account_size_time): Allow negative time in calls summary; correct roundoff errors leading to negative times. (ipa_merge_fn_summary_after_inlining): Update calls size time table if present. (ipa_update_overall_fn_summary): Add RESET parameter. * ipa-fnsummary.h (ipa_update_overall_fn_summary): Update prototype. * ipa-inline-transform.c (inline_call): Enable incremental updates. From-SVN: r278541
Jan Hubicka committed -
PR go/92605 runtime: declare runtime_usestackmaps in stack.c, not runtime.h Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/208161 From-SVN: r278540
Ian Lance Taylor committed -
Also fix a case where grep wasn't redirecting to /dev/null. Fixes golang/go#35713 Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/208160 From-SVN: r278539
Ian Lance Taylor committed -
PR c++/90842 * parser.c (cp_parser_decl_specifier_seq): For concept or typedef break early if CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR. For type specifiers, set CP_PARSER_FLAGS_NO_TYPE_DEFINITIONS if CP_PARSER_FLAGS_ONLY_MUTABLE_OR_CONSTEXPR is set. * g++.dg/cpp1y/lambda-generic-90842.C: New test. Co-Authored-By: Jason Merrill <jason@redhat.com> From-SVN: r278538
Jakub Jelinek committed -
From-SVN: r278537
GCC Administrator committed
-
- 20 Nov, 2019 15 commits
-
-
* g++.dg/cpp0x/constexpr-92443.C: New test. From-SVN: r278534
Marek Polacek committed -
2019-11-20 Richard Sandiford <richard.sandiford@arm.com> gcc/ * tree-vect-slp.c (vect_schedule_slp_instance): Restore stmt def types for two-operation SLP. From-SVN: r278533
Richard Sandiford committed -
bb-slp-40.c fails on SPARC targets without VIS4 because it requires addition on vectors of bytes. There doesn't seem to be an existing target selector for this, so I added vect_char_add. (Wasn't sure whether to use vect_char_add, for consistency with vect_no_int_add/vect_int_mult etc., or vect_add_char for consistency with vect_shift_char etc.) I took the target list from vect_int and removed targets that didn't seem to support the operation (namely sparc*, since we don't seem to have any test for VIS4, niagara7 or m8, and alpha*-*-*.) 2019-11-20 Richard Sandiford <richard.sandiford@arm.com> gcc/ PR testsuite/92366 * doc/sourcebuild.texi (vect_char_add): Document. gcc/testsuite/ PR testsuite/92366 * lib/target-supports.exp (check_effective_target_vect_char_add): New proc. * gcc.dg/vect/bb-slp-40.c: Require vect_char_add instead of vect_int. From-SVN: r278532
Richard Sandiford committed -
After r278246, we can try building the out[] store value from scalars if the target has no multiplication support. That's not necessarily a good thing, but like most of vect/, this test is run with the cost model disabled. 2019-11-20 Richard Sandiford <richard.sandiford@arm.com> gcc/testsuite/ PR testsuite/92527 * gcc.dg/vect/bb-slp-21.c: Expect both SLP groups to be vectorized, regardless of whether the target supports multiplication. From-SVN: r278531
Richard Sandiford committed -
/gcc 2019-11-20 Paolo Carlini <paolo.carlini@oracle.com> * typeck2.c (build_x_arrow): Early return if decay_conversion returns error_mark_node. /testsuite 2019-11-20 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/parse/error43.C: Adjust expected error. From-SVN: r278530
Paolo Carlini committed -
The information in cgraph callees is released long before we get to the point in which -fcallgraph-info edges are dumped, or even expanded. It doesn't make sense to retain it longer: the edges created for -fcallgraph-info are much smaller, and they don't even coexist, so not even peak use grows. for gcc/ChangeLog * function.h (CALLEE_FROM_CGRAPH_P): Remove. * function.c (record_final_call): Record even calls that might have been in the cgraph. * toplev.c (dump_final_node_vcg): Skip iteration over cgraph callees. From-SVN: r278529
Alexandre Oliva committed -
The FTP protocol is getting long in the tooth, and we should emphasize HTTPS where that is available. This patch changes various gcc.gnu.org URL's to instead use HTTPS. For instance, kernel.org shut down FTP access in 2017, with the explanation: - The protocol is inefficient and requires adding awkward kludges to firewalls and load-balancing daemons - FTP servers have no support for caching or accelerators, which has significant performance impacts - Most software implementations have stagnated and see infrequent updates ChangeLog: 2019-11-20 Janne Blomqvist <jb@gcc.gnu.org> * configure.ac: Use https for gcc.gnu.org. * configure: Regenerated. gcc/ChangeLog: 2019-11-20 Janne Blomqvist <jb@gcc.gnu.org> * configure.ac: Use https for gcc.gnu.org. * configure: Regenerated. * doc/install.texi: Use https for gcc.gnu.org. * doc/sourcebuild.texi: Likewise. gcc/testsuite/ChangeLog: 2019-11-20 Janne Blomqvist <jb@gcc.gnu.org> * README: Use https for gcc.gnu.org. libstdc++-v3/ChangeLog: 2019-11-20 Janne Blomqvist <jb@gcc.gnu.org> * doc/html/api.html: Use https for gcc.gnu.org. * doc/xml/api.xml: Likewise. maintainer-scripts/ChangeLog: 2019-11-20 Janne Blomqvist <jb@gcc.gnu.org> * gcc_release: Use https for gcc.gnu.org. From-SVN: r278526
Janne Blomqvist committed -
Commit r269139 fixed an accidental dependency on MPFR 3.0. As we now require at least MPFR 3.1.0+ we can revert it and instead use the simpler MPFR 3.0+ code. ChangeLog entry of the original commit was: 2019-02-23 David Malcolm <dmalcolm@redhat.com> Jakub Jelinek <jakub@redhat.com> PR middle-end/88074 * simplify.c (norm2_do_sqrt, gfc_simplify_norm2): Use mpfr_number_p && !mpfr_zero_p instead of mpfr_regular_p. (norm2_add_squared): Likewise. Use mp_exp_t rather than mpfr_exp_t. ChangeLog for this commit: 2019-11-20 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/92463 Revert r269139 * simplify.c (norm2_do_sqrt, gfc_simplify_norm2): Use mpfr_regular_p instead of mpfr_number_p && !mpfr_zero_p. (norm2_add_squared): Likewise. Use mpfr_exp_t rather than mp_exp_t. From-SVN: r278525
Janne Blomqvist committed -
Now that we require a minimum of MPFR 3.1.0+ to build GCC, we can do some modernization of the MPFR usage in the GFortran frontend. This patch replaces 1) GMP_RND* with MPFR_RND* 2) mp_exp_t with mpfr_exp_t 3) mp_prec_t with mpfr_prec_t 4) mp_rnd_t with mpfr_rnd_t gcc/fortran/ChangeLog: 2019-11-20 Janne Blomqvist <jb@gcc.gnu.org> PR fortran/92463 * arith.c (gfc_mpfr_to_mpz): Change mp_exp_t to mpfr_exp_t. (gfc_check_real_range): Likewise. * gfortran.h (GFC_RND_MODE): Change GMP_RNDN to MPFR_RNDN. * module.c (mio_gmp_real): Change mp_exp_t to mpfr_exp_t. * simplify.c (degrees_f): Change mp_rnd_t to mpfr_rnd_t. (radians_f): Likewise. (fullprec_erfc_scaled): Change mp_prec_t to mpfr_prec_t. (asympt_erfc_scaled): Likewise. (gfc_simplify_nearest): Change mp_exp_t to mpfr_exp_t, and GMP_RND* to MPFR_RND*. From-SVN: r278523
Janne Blomqvist committed -
The vrbit_1 test which was missing a flag to disable code sharing. Committed as obvious. testsuite/ * gcc.target/aarch64/simd/vrbit_1.c: Add -fno-ipa-icf. From-SVN: r278519
Wilco Dijkstra committed -
gcc/ * config/gcn/gcn.c (gcn_asm_output_symbol_ref): Handle null cfun. Reviewed-by: Andrew Stubbs <ams@codesourcery.com> From-SVN: r278518
Julian Brown committed -
libgomp/ * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock aq->mutex here. (queue_push_launch): Lock aq->mutex before calling wait_for_queue_nonfull. (queue_push_callback): Likewise. (queue_push_asyncwait): Likewise. (queue_push_placeholder): Likewise. Reviewed-by: Andrew Stubbs <ams@codesourcery.com> From-SVN: r278517
Julian Brown committed -
libgomp/ * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New. (copy_data, GOMP_OFFLOAD_host2dev): Use above function. (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy return code. Reviewed-by: Andrew Stubbs <ams@codesourcery.com> From-SVN: r278516
Julian Brown committed -
Since r278084 (part of the params refactoring), most of libgccjit's test suite has been ICEing. The root cause is that jit-playback.c injects params to its fake_args here: /* Aggressively garbage-collect, to shake out bugs: */ if (get_bool_option (GCC_JIT_BOOL_OPTION_SELFCHECK_GC)) { ADD_ARG ("--param"); ADD_ARG ("ggc-min-expand=0"); ADD_ARG ("--param"); ADD_ARG ("ggc-min-heapsize=0"); } (building a vec of char * where the char * are allocated using xstrdup) and r278084 added this logic to decode_cmdline_options_to_array: 964 /* Interpret "--param" "key=name" as "--param=key=name". */ 965 const char *needle = "--param"; 966 if (i + 1 < argc && strcmp (opt, needle) == 0) 967 { 968 const char *replacement 969 = opts_concat (needle, "=", argv[i + 1], NULL); 970 argv[++i] = replacement; 971 } Note that at line 970 it manipulates the argv in-place, inserting a new option allocated with opts_concat, which uses opts_obstack (itself initialized from toplev::main). jit-playback.c cleans up its fake arguments using "free", at which point we have a free of the middle of an obstack and an ICE. This patch fixes the issue by using the new syntax for the params. Fixes all 60 FAILs in jit.sum, restoring the number of PASS results from 2033 to 10469. gcc/jit/ChangeLog: PR jit/92483 * jit-playback.c (gcc::jit::playback::context::make_fake_args): Update GCC_JIT_BOOL_OPTION_SELFCHECK_GC for new --param syntax. From-SVN: r278515
David Malcolm committed -
PR libgomp/92511 libgomp/ * oacc-mem.c (present_create_copy): Fix device pointer return value in case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free in non-present/create case. (delete_copyout): Change error condition to fail only on copies outside of mapped block. Adjust error message accordingly. * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test. * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test. * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error message. * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise. * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now. * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise. Reviewed-by: Thomas Schwinge <thomas@codesourcery.com> From-SVN: r278514
Julian Brown committed
-