- 12 Dec, 2017 3 commits
-
-
This patch removes unused RTL functions, introduces alternate ones for use in a later SFN patch, and regroups other related functions so that they appear in a more consistent order. for gcc/ChangeLog * emit-rtl.c (next_nondebug_insn, prev_nondebug_insn): Reorder. (next_nonnote_nondebug_insn, prev_nonnote_nondebug_insn): Reorder. (next_nonnote_nondebug_insn_bb): New. (prev_nonnote_nondebug_insn_bb): New. (prev_nonnote_insn_bb, next_nonnote_insn_bb): Remove. * rtl.h (prev_nonnote_insn_bb, next_nonnote_insn_bb): Remove decls. (prev_nonnote_nondebug_insn_bb): Declare. (next_nonnote_nondebug_insn_bb): Declare. * cfgbuild.c (find_bb_boundaries): Adjust to skip debug insns. * cfgrtl.c (get_last_bb_insn): Likewise. * lra.c (push_insns): Likewise. From-SVN: r255564
Alexandre Oliva committed -
This patch adds selftest coverage for the fix for PR c/82050. The selftest iterates over various "interesting" column and line-width values to try to shake out bugs in the fix-it printing routines, a kind of "torture" selftest. Unfortunately this selftest is noticably slower than the other selftests; adding it to diagnostic-show-locus.c led to: -fself-test: 40218 pass(es) in 0.172000 seconds slowing down to: -fself-test: 97315 pass(es) in 6.109000 seconds for an unoptimized build (e.g. when hacking with --disable-bootstrap). Given that this affects the compile-edit-test cycle of the "gcc" subdirectory, this felt like an unacceptable amount of overhead to add. I attempted to optimize the test by reducing the amount of coverage, but the test seems useful, and there seems to be a valid role for "torture" selftests. Hence this patch adds a: gcc.dg/plugin/expensive_selftests_plugin.c with the responsibility for running "expensive" selftests, and adds the expensive test there. The patch moves a small amount of code from selftest::run_tests into a helper class so that the plugin can print a useful summary line (to reassure us that the tests are actually being run). With that, the compile-edit-test cycle of the "gcc" subdir is unaffected; the plugin takes: expensive_selftests_plugin: 26641 pass(es) in 3.127000 seconds which seems reasonable within the much longer time taken by "make check" (I optimized some of the overhead away, hence the reduction from 6 seconds above down to 3 seconds). gcc/ChangeLog: PR c/82050 * selftest-run-tests.c (selftest::run_tests): Move start/finish code to... * selftest.c (selftest::test_runner::test_runner): New ctor. (selftest::test_runner::~test_runner): New dtor. * selftest.h (class selftest::test_runner): New class. gcc/testsuite/ChangeLog: PR c/82050 * gcc.dg/plugin/expensive-selftests-1.c: New file. * gcc.dg/plugin/expensive_selftests_plugin.c: New file. * gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above. From-SVN: r255563
David Malcolm committed -
From-SVN: r255562
GCC Administrator committed
-
- 11 Dec, 2017 16 commits
-
-
gcc/testsuite/ * gcc.dg/pr83361.c: Add -Wno-div-by-zero to dg-options. From-SVN: r255559
Segher Boessenkool committed -
From-SVN: r255558
Martin Sebor committed -
PR c/81544 - attribute noreturn and warn_unused_result on the same function accepted Add tests missed in r255469. From-SVN: r255557
Martin Sebor committed -
gcc/testsuite/ChangeLog: 2017-12-07 Carl Love <cel@us.ibm.com> * gcc.target/powerpc/altivec-12.c (main): Add tests for vec_avg. * gcc.target/powerpc/builtins-1.c: Renamed builtins-1.h. * gcc.target/powerpc/builtins-1.h: Add tests for vec_and, vec_andc, vec_cpsgn, vec_mergeh,vec_mergel, vec_nor, vec_or, vec_sel, vec_xor, vec_all_eq, vec_all_ge, vec_all_gt, vec_all_le, vec_all_lt, vec_all_ne, vec_any_eq,vec_any_ge, vec_any_gt,vec_any_le, vec_any_lt, vec_any_ne, vec_cntlz, vec_round, vec_rsqrt, vec_rsqrte, vec_splat, vec_div, vec_mul,vec_ctf, vec_cts, vec_ctu. * gcc.target/powerpc/builtins-1-be.c: New file, big endian test file for tests in builtins-1.h. * gcc.target/powerpc/builtins-1-le.c: New file, little endian test file for tests in builtins-1.h. * gcc.target/powerpc/builtins-2.c (main): Add tests for vec_ctf, vec_cts, vec_ctu. * gcc.target/powerpc/builtins-3-runnable.c (test_result_sp): Fix printf conversion character. * gcc.target/powerpc/fold-vec-minmax-char.c (test1_min, test2_min, test4_min, test1_max, test2_max): Add tests for vec_max and vec_min. * gcc.target/powerpc/fold-vec-minmax-int.c (test4_min, test5_min, test7_min, test8_min): Add tests for vec_min. * gcc.target/powerpc/fold-vec-minmax-longlong.c (test7_max, test8_max, test9_max, test10_max): Add tests for and vec_max. * gcc.target/powerpc/fold-vec-minmax-short.c (test4_min, test5_min, tes7_min, test8_min): Add tests for and vec_min. * gcc.target/powerpc/p8vector-builtin-8.c (foo): Add test for vec_adds, vec_subs, vec_sum2s, vec_sum4s. * gcc.target/powerpc/vsx-splats-p8.c: New file to test vec_splats. * gcc.target/vsx-vector-5.c (arg1_tests_d, arg1_tests_d): Add tests for vec_ceil, vec_floor, vec_nearbyint, vec_sqrt. * gcc.target/vsx-vector-7.c (foo): Add tests for vec_sel. * gcc.target/vsx-vector-abss.c: New file to test vec_abss. From-SVN: r255556
Carl Love committed -
gcc/ChangeLog: 2017-12-11 Carl Love <cel@us.ibm.com> * config/rs6000/altivec.h (vec_extract_fp32_from_shorth, vec_extract_fp32_from_shortl]): Add #defines. * config/rs6000/rs6000-builtin.def (VSLDOI_2DI): Add macro expansion. * config/rs6000/rs6000-c.c (ALTIVEC_BUILTIN_VEC_UNPACKH, ALTIVEC_BUILTIN_VEC_UNPACKL, ALTIVEC_BUILTIN_VEC_AND, ALTIVEC_BUILTIN_VEC_SLD, ALTIVEC_BUILTIN_VEC_SRL, ALTIVEC_BUILTIN_VEC_SRO, ALTIVEC_BUILTIN_VEC_SLD, ALTIVEC_BUILTIN_VEC_SLL): Add expansions. * doc/extend.texi: Add documentation for the added builtins. gcc/testsuite/ChangeLog: 2017-12-11 Carl Love <cel@us.ibm.com> * gcc.target/powerpc/altivec-7.c: Renamed altivec-7.h. * gcc.target/powerpc/altivec-7.h (main): Add testcases for vec_unpackl. Add dg-final tests for the instructions generated. * gcc.target/powerpc/altivec-7-be.c: New file to test on big endian. * gcc.target/powerpc/altivec-7-le.c: New file to test on little endian. * gcc.target/powerpc/altivec-13.c (foo): Add vec_sld, vec_srl, vec_sro testcases. Add dg-final tests for the instructions generated. * gcc.target/powerpc/builtins-3-p8.c (test_vsi_packs_vui, test_vsi_packs_vsi, test_vsi_packs_vssi, test_vsi_packs_vusi, test_vsi_packsu-vssi, test_vsi_packsu-vusi, test_vsi_packsu-vsll, test_vsi_packsu-vull, test_vsi_packsu-vsi, test_vsi_packsu-vui): Add testcases. Add dg-final tests for new instructions. * gcc.target/powerpc/p8vector-builtin-2.c (vbschar_eq, vbchar_eq, vuchar_eq, vbint_eq, vsint_eq, viint_eq, vuint_eq, vbool_eq, vbint_ne, vsint_ne, vuint_ne, vbool_ne, vsign_ne, vuns_ne, vbshort_ne): Add tests. Add dg-final instruction tests. * gcc.target/powerpc/vsx-vector-6.c: Renamed vsx-vector-6.h. * gcc.target/powerpc/vsx-vector-6.h (vec_andc,vec_nmsub, vec_nmadd, vec_or, vec_nor, vec_andc, vec_or, vec_andc, vec_msums): Add tests. Add dg-final tests for the generated instructions. * gcc.target/powerpc/builtins-3.c (test_sll_vsc_vsc_vsuc, test_sll_vuc_vuc, test_sll_vsi_vsi_vuc, test_sll_vui_vui_vuc, test_sll_vbll_vull, test_sll_vbll_vbll_vus, test_sll_vp_vp_vuc, test_sll_vssi_vssi_vuc, test_sll_vusi_vusi_vuc, test_slo_vsc_vsc_vsc, test_slo_vuc_vuc_vsc, test_slo_vsi_vsi_vsc, test_slo_vsi_vsi_vuc, test_slo_vui_vui_vsc, test_slo_vui_vui_vuc, test_slo_vsll_slo_vsll_vsc, test_slo_vsll_slo_vsll_vuc, test_slo_vull_slo_vull_vsc, test_slo_vull_slo_vull_vuc, test_slo_vp_vp_vsc, test_slo_vp_vp_vuc, test_slo_vssi_vssi_vsc, test_slo_vssi_vssi_vuc, test_slo_vusi_vusi_vsc, test_slo_vusi_vusi_vuc, test_slo_vusi_vusi_vuc, test_slo_vf_vf_vsc, test_slo_vf_vf_vuc, test_cmpb_float): Add tests. From-SVN: r255555
Carl Love committed -
When combine drops a REG_UNUSED SET in a parallel, we have to clear cached values, so that, even if the REGs remain used (e.g. because they were referenced in the used SET_SRC), we will not use properties of the dropped modified value as if they applied to the preserved original one. We fail to adjust REG_N_SETS. for gcc/ChangeLog PR rtl-optimization/80693 PR rtl-optimization/81019 PR rtl-optimization/81020 * combine.c (distribute_notes): Reset any REG_UNUSED REGs that are not mentioned in i3. Place the REG_UNUSED note on i2, possibly modified to REG_DEAD, if it did not originate in i3. for gcc/testsuite/ChangeLog PR rtl-optimization/80693 PR rtl-optimization/81019 PR rtl-optimization/81020 * gcc.dg/pr80693.c: New. * gcc.dg/pr81019.c: New. From-SVN: r255554
Alexandre Oliva committed -
* recog.c (store_data_bypass_p_1): New function. (store_data_bypass_p): Handle USE in a PARALLEL like CLOBBER. Use store_data_bypass_p_1 to avoid code duplication. Formatting fixes. From-SVN: r255553
Jakub Jelinek committed -
After converting a conditional branch to an unconditional trap to a conditional trap, if the original trap is still reachable from another path, it may be that it is in a hot basic block and only reachable from cold blocks. Fix that up. PR rtl-optimization/83361 * ifcvt.c (if_convert): Call fixup_partitions. gcc/testsuite/ PR rtl-optimization/83361 * gcc.dg/pr83361.c: New testcase. From-SVN: r255550
Segher Boessenkool committed -
[gcc] 2017-12-11 Will Schmidt <will_schmidt@vnet.ibm.com> * config/rs6000/rs6000.c (rs6000_gimple_fold_builtin): Add support for early folding of splat_u{8,16,32}. [testsuite] 2017-12-11 Will Schmidt <will_schmidt@vnet.ibm.com> * gcc.target/powerpc/fold-vec-splat-misc-invalid.c: New. From-SVN: r255549
Will Schmidt committed -
2017-12-11 Thomas Koenig <tkoenig@gcc.gnu.org> * intrinsic.texi (MAXLOC): Update documentation for character arrays and KIND argument. (MINLOC): Likewise. From-SVN: r255546
Thomas Koenig committed -
aarch64.c (aarch64_print_operand): Don't start output_operand_lossage first argument with capital letter. * config/aarch64/aarch64.c (aarch64_print_operand): Don't start output_operand_lossage first argument with capital letter. (aarch64_override_options): Don't start error and sorry first argument with capital letter. From-SVN: r255544
Jakub Jelinek committed -
2017-12-11 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/83379 * gfortran.dg/minval_char_1.f90: Correct logic for mask calculation. * gfortran.dg/minval_char_2.f90: Likewise. * gfortran.dg/maxval_char_1.f90: Likewise. * gfortran.dg/maxval_char_2.f90: Likewise. From-SVN: r255543
Thomas Koenig committed -
2017-12-11 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/45689 * simplify.c (min_max_choose): Add prototype. (gfc_count): Format correctly. (simplify_transformation): Pass array argument to init_result_expr. (gfc_simplify_minval_maxval): Remove. (gfc_min): New function. (gfc_simplify_minval): Call simplify_transformation. (gfc_max): New function. (gfc_simplify_maxval): Call simplify_transformation. 2017-12-11 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/45689 * gfortran.dg/minval_parameter_1.f90: New test. * gfortran.dg/maxval_parameter_1.f90: New test. From-SVN: r255542
Thomas Koenig committed -
g++.dg/bprob* is failing currently with autofdo. Running in gdb shows that there is a very deep recursion in get_index_by_decl until it overflows the stack. gcc/: 2017-12-11 Andi Kleen <ak@linux.intel.com> PR gcov-profile/83355 * auto-profile.c (string_table::get_index_by_decl): Don't recurse when abstract origin points to itself. From-SVN: r255540
Andi Kleen committed -
re PR tree-optimization/83320 (Mismatched free() / delete / delete [] in gimple-loop-interchange.cc:948) PR tree-optimization/83320 * gimple-loop-interchange.cc (free_data_refs_with_aux): Use delete. (prune_datarefs_not_in_loop): Ditto. From-SVN: r255539
Bin Cheng committed -
From-SVN: r255537
GCC Administrator committed
-
- 10 Dec, 2017 6 commits
-
-
From-SVN: r255534
Uros Bizjak committed -
* ChangeLog: Fix whitespace. * testsuite/ChangeLog: Ditto. From-SVN: r255533
Uros Bizjak committed -
2017-12-10 Dominique d'Humieres <dominiq@lps.ens.fr> PR fortran/53478 * gfortran.h (gfc_find_case_gsymbol): New prototype. * symbol.c (gfc_find_case_gsymbol): New procedure, case insensistive version of gfc_find_gsymbol. * resolve.c (resolve_common_blocks): Use it. Replace %s with %qs where needed. * gfortran.dg/binding_label_tests_4.f03: Update dg-error. * gfortran.dg/binding_label_tests_6.f03: Likewise. * gfortran.dg/binding_label_tests_7.f03: Likewise. * gfortran.dg/binding_label_tests_8.f03: Likewise. * gfortran.dg/binding_label_tests_10_main.f03: Likewise. * gfortran.dg/binding_label_tests_11_main.f03: Likewise. * gfortran.dg/binding_label_tests_13_main.f03: Likewise. * gfortran.dg/test_common_binding_labels_3_main.f03: Likewise. * gfortran.dg/binding_label_tests_29.f90: New test. From-SVN: r255530
Dominique d'Humieres committed -
From-SVN: r255529
Gerald Pfeifer committed -
re PR tree-optimization/83337 (ICE at -O3 x86_64-linux-gnu: in interpret_rhs_expr, at tree-scalar-evolution.c:1775) PR tree-optimization/83337 * gimple-loop-interchange.cc (compute_access_stride): Handle bitfield DRs properly. * gcc.dg/tree-ssa/loop-interchange-14.c: New test. * gcc.dg/tree-ssa/loop-interchange-15.c: New test. From-SVN: r255528
Jakub Jelinek committed -
From-SVN: r255527
GCC Administrator committed
-
- 09 Dec, 2017 5 commits
-
-
2017-12-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/82934 PR fortran/83318 * match.c (gfc_match_allocate): Enforce F2008:C631. 2017-12-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/82934 PR fortran/83318 * gfortran.dg/allocate_assumed_charlen_2.f90: new test. From-SVN: r255524
Steven G. Kargl committed -
PR tree-optimization/83338 * tree-vect-stmts.c (vectorizable_operation): Handle POINTER_DIFF_EXPR vectorization as MINUS_EXPR with a subsequent VIEW_CONVERT_EXPR from vector of unsigned integers to vector of signed integers. * gcc.dg/vect/pr83338.c: New test. From-SVN: r255523
Jakub Jelinek committed -
2017-12-09 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/83316 * arith.c (gfc_character2character): New function. * arith.h: Add prototype. * simplify.c (gfc_convert_constant): Handle character type. 2017-12-09 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/83316 * gfortran.dg/minval_char_5.f90: New test. From-SVN: r255522
Thomas Koenig committed -
libgcc/ * config/riscv/div.S: Use FUNC_* macros. * config/riscv/muldi3.S, config/riscv/multi3.S: Likewise * config/riscv/save-restore.S: Likewise. * config/riscv/riscv-asm.h: New. From-SVN: r255521
Jim Wilson committed -
From-SVN: r255520
GCC Administrator committed
-
- 08 Dec, 2017 10 commits
-
-
2017-12-08 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/83317 * lra-constraints.c (process_address_1): Add insn code check. 2017-12-08 Jakub Jelinek <jakub@redhat.com> PR rtl-optimization/83317 * gcc.target/i386/pr83317.c: New test. From-SVN: r255517
Vladimir Makarov committed -
re PR rtl-optimization/81595 (ICE: verify_flow_info failed (error: multiple hot/cold transitions found)) PR rtl-optimization/81595 * gcc.c-torture/compile/pr81595.c: New test. From-SVN: r255516
Jakub Jelinek committed -
Fix PR83323 * gimple-loop-jam (unroll_jam_possible_p): Correct test for head-controlled loops and loop BBs. * common.opt (funroll-and-jam): Remove, instead ... (floop-unroll-and-jam): ... reuse this option. * opts.c (default_options_table): Use OPT_floop_unroll_and_jam. * doc/invoke.texi (-funroll-and-jam): Move docu to ... (-floop-unroll-and-jam): ... this option. testsuite/ * gcc.dg/pr83323.c: New test. * gcc.dg/unroll-and-jam.c: Use -floop-unroll-and-jam. From-SVN: r255514
Michael Matz committed -
ipa-polymorphic-call.c (noncall_stmt_may_be_vtbl_ptr_store): Fix a comment typo, get_base_ref_and_offset -> get_ref_base_and_extent. * ipa-polymorphic-call.c (noncall_stmt_may_be_vtbl_ptr_store): Fix a comment typo, get_base_ref_and_offset -> get_ref_base_and_extent. * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Likewise. From-SVN: r255513
Jakub Jelinek committed -
2017-12-08 Richard Biener <rguenther@suse.de> PR middle-end/81782 * tree-ssa-uninit.c (warn_uninitialized_vars): Properly handle accesses outside of zero-sized vars. * gcc.dg/uninit-pr81782.c: New testcase. From-SVN: r255512
Richard Biener committed -
* g++.dg/opt/pr83252.C: Add -mclear-hwcap on *-*-solaris*. From-SVN: r255511
Rainer Orth committed -
2017-12-08 Martin Jambor <mjambor@suse.cz> PR tree-optimization/83141 * tree-sra.c (contains_vce_or_bfcref_p): Move up in the file, also test for MEM_REFs implicitely changing types with padding. Remove inline keyword. (build_accesses_from_assign): Added contains_vce_or_bfcref_p checks. testsuite/ * gcc.dg/tree-ssa/pr83141.c: New test. * gcc.dg/guality/pr54970.c: XFAIL tests querying a[0]. From-SVN: r255510
Martin Jambor committed -
* config/arc/arc.c (arc_attribute_table): Add exclusions to the comment. * config/avr/avr.c (avr_attribute_table): Likewise. * config/msp430/msp430.c (msp430_attribute_table): Likewise. * config/rl78/rl78.c (rl78_attribute_table): Likewise. * config/nds32/nds32.c (nds32_attribute_table): Likewise. * config/darwin.h (SUBTARGET_ATTRIBUTE_TABLE): Initialize new member of struct attribute_spec. * config/i386/cygming.h (SUBTARGET_ATTRIBUTE_TABLE): Likewise. ada/ * gcc-interface/utils.c (gnat_internal_attribute_table): Add exclusions to the comment. brig/ * brig-lang.c (brig_attribute_table): Fix up comment. From-SVN: r255509
Jakub Jelinek committed -
gcc/ PR target/82960 * config/spu/spu.c (pad_bb): Only check INSN_CODE when INSN_P is true. From-SVN: r255508
Ulrich Weigand committed -
* profile-count.c (profile_count::from_gcov_type): Move from profile-count.h; handle overflow. * profile-count. (profile_count::from_gcov_type): Move offline. PR middle-end/83609 * gcc.c-torture/compile/pr83069.c: New testcase. From-SVN: r255507
Jan Hubicka committed
-