- 21 Nov, 2019 29 commits
-
-
These two tests are explicitly testing the use of specific sections or assembler directives for data that is placed in common. Append -fcommon to the flags to restore them. gcc/testsuite/ChangeLog: 2019-11-21 Iain Sandoe <iain@sandoe.co.uk> * gcc.dg/darwin-comm.c: Add -fcommon to compile flags. * gcc.dg/darwin-sections.c: Likewise. From-SVN: r278596
Iain Sandoe committed -
2019-11-21 Iain Sandoe <iain@sandoe.co.uk> PR testsuite/92619 * gcc.dg/gnu2x-attrs-1.c: Fix dg-error syntax. From-SVN: r278594
Iain Sandoe committed -
We currently expand various floating point comparisons early, to some sequences with cror insns and the like. This doesn't optimize well. Change that to allow any of the 14 floating point comparisons in the instruction stream, and split them after combine (at split1). * config/rs6000/predicates.md (extra_insn_branch_comparison_operator): New predicate. * config/rs6000/rs6000-protos.h (rs6000_emit_fp_cror): New declaration. * config/rs6000/rs6000.c (rs6000_generate_compare): Don't do anything special for FP comparisons that need a cror instruction eventually. (rs6000_emit_fp_cror): New function. (rs6000_emit_sCOND): Expand all floating point comparisons to one instruction, for normal FP modes, with HONOR_NANS. (rs6000_emit_cbranch): Reformat. * config/rs6000/rs6000.md (fp_rev): New iterator. (fp_two): New iterator. *<code><mode>_cc for fp_rev and GPR: New define_insn_and_split. *<code><mode>_cc for fp_two and GPR: New define_insn_and_split. *cbranch_2insn: New define_insn_and_split. From-SVN: r278593
Segher Boessenkool committed -
Allowing mixed vector sizes broke the assumption in the following assert, since it's now possible for different accesses to require different levels of alignment: /* FORNOW: use the same mask to test all potentially unaligned references in the loop. The vectorizer currently supports a single vector size, see the reference to GET_MODE_NUNITS (TYPE_MODE (vectype)) where the vectorization factor is computed. */ gcc_assert (!LOOP_VINFO_PTR_MASK (loop_vinfo) || LOOP_VINFO_PTR_MASK (loop_vinfo) == mask); I guess we could try to over-align smaller accesses so that all of them are consistent, or try to support multiple alignment masks, but for now the easiest fix seems to be to turn the assert into a bail-out check. 2019-11-21 Richard Sandiford <richard.sandiford@arm.com> gcc/ PR tree-optimization/92526 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Reject versioning for alignment if the accesses do not have a consistent mask, rather than asserting that the masks are consistent. gcc/testsuite/ PR tree-optimization/92526 * gcc.target/aarch64/pr92526.c: New test. From-SVN: r278592
Richard Sandiford committed -
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 11 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
-