- 27 Jun, 2019 26 commits
-
-
PR tree-optimization/91010 * tree-vect-stmts.c (scan_operand_equal_p): If offset1 == offset2, return true. Otherwise, don't call operand_equal_p if offset1 or offset2 is NULL and just return false. * g++.dg/vect/simd-10.cc: New test. From-SVN: r272763
Jakub Jelinek committed -
The default for the kernel is soft-float, however a user writing a kernel extension might want to make use of hard float. This change makes " -mkernel -mhard-float " work as expected. 2019-06-27 Iain Sandoe <iain@sandoe.co.uk> * config/rs6000/rs6000.c (darwin_rs6000_override_options): Honour user-specified float mode choice for kernel mode code. From-SVN: r272760
Iain Sandoe committed -
A recent merge dropped whitespace in the endfile specs, which affects transactional memory cases. 2019-06-27 Iain Sandoe <iain@sandoe.co.uk> * config/rs6000/darwin.h (ENDFILE_SPEC): Correct whitespace in the spec. From-SVN: r272759
Iain Sandoe committed -
The linker [ld64] that supports 64Bit does not need the JBSR longcall optimisation, and will not work with the most generic case (where the symbol is undefined external, but there is no symbl stub). So switch the longcall option off. ld64 will generate branch islands as needed. 2019-06-27 Iain Sandoe <iain@sandoe.co.uk> * config/rs6000/rs6000.c (darwin_rs6000_override_options): Do not use longcall for 64b code. From-SVN: r272758
Iain Sandoe committed -
2019-06-27 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/90987 * match.c (gfc_match_common): Adjust parsing of fixed and free form source code containing, e.g., COMMONI. 2019-06-27 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/90987 * gfortran.dg/common_1.f: new test. * gfortran.dg/common_26.f90: Ditto. From-SVN: r272756
Steven G. Kargl committed -
2019-06-27 Aaron Sawdey <acsawdey@linux.ibm.com> * builtins.c (get_memory_rtx): Fix comment. * optabs.def (movmem_optab): Change to cpymem_optab. * expr.c (emit_block_move_via_cpymem): Change movmem to cpymem. (emit_block_move_hints): Change movmem to cpymem. * defaults.h: Change movmem to cpymem. * targhooks.c (get_move_ratio): Change movmem to cpymem. (default_use_by_pieces_infrastructure_p): Ditto. * config/aarch64/aarch64-protos.h: Change movmem to cpymem. * config/aarch64/aarch64.c (aarch64_expand_movmem): Change movmem to cpymem. * config/aarch64/aarch64.h: Change movmem to cpymem. * config/aarch64/aarch64.md (movmemdi): Change name to cpymemdi. * config/alpha/alpha.h: Change movmem to cpymem in comment. * config/alpha/alpha.md (movmemqi, movmemdi, *movmemdi_1): Change movmem to cpymem. * config/arc/arc-protos.h: Change movmem to cpymem. * config/arc/arc.c (arc_expand_movmem): Change movmem to cpymem. * config/arc/arc.h: Change movmem to cpymem in comment. * config/arc/arc.md (movmemsi): Change movmem to cpymem. * config/arm/arm-protos.h: Change movmem to cpymem in names. * config/arm/arm.c (arm_movmemqi_unaligned, arm_gen_movmemqi, gen_movmem_ldrd_strd, thumb_expand_movmemqi) Change movmem to cpymem. * config/arm/arm.md (movmemqi): Change movmem to cpymem. * config/arm/thumb1.md (movmem12b, movmem8b): Change movmem to cpymem. * config/avr/avr-protos.h: Change movmem to cpymem. * config/avr/avr.c (avr_adjust_insn_length, avr_emit_movmemhi, avr_out_movmem): Change movmem to cpymem. * config/avr/avr.md (movmemhi, movmem_<mode>, movmemx_<mode>): Change movmem to cpymem. * config/bfin/bfin-protos.h: Change movmem to cpymem. * config/bfin/bfin.c (single_move_for_movmem, bfin_expand_movmem): Change movmem to cpymem. * config/bfin/bfin.h: Change movmem to cpymem in comment. * config/bfin/bfin.md (movmemsi): Change name to cpymemsi. * config/c6x/c6x-protos.h: Change movmem to cpymem. * config/c6x/c6x.c (c6x_expand_movmem): Change movmem to cpymem. * config/c6x/c6x.md (movmemsi): Change name to cpymemsi. * config/frv/frv.md (movmemsi): Change name to cpymemsi. * config/ft32/ft32.md (movmemsi): Change name to cpymemsi. * config/h8300/h8300.md (movmemsi): Change name to cpymemsi. * config/i386/i386-expand.c (expand_set_or_movmem_via_loop, expand_set_or_movmem_via_rep, expand_movmem_epilogue, expand_setmem_epilogue_via_loop, expand_set_or_cpymem_prologue, expand_small_cpymem_or_setmem, expand_set_or_cpymem_prologue_epilogue_by_misaligned_moves, expand_set_or_cpymem_constant_prologue, ix86_expand_set_or_cpymem): Change movmem to cpymem. * config/i386/i386-protos.h: Change movmem to cpymem. * config/i386/i386.h: Change movmem to cpymem in comment. * config/i386/i386.md (movmem<mode>): Change name to cpymem. (setmem<mode>): Change expansion function name. * config/lm32/lm32.md (movmemsi): Change name to cpymemsi. * config/m32c/blkmov.md (movmemhi, movmemhi_bhi_op, movmemhi_bpsi_op, movmemhi_whi_op, movmemhi_wpsi_op): Change movmem to cpymem. * config/m32c/m32c-protos.h: Change movmem to cpymem. * config/m32c/m32c.c (m32c_expand_movmemhi): Change movmem to cpymem. * config/m32r/m32r.c (m32r_expand_block_move): Change movmem to cpymem. * config/m32r/m32r.md (movmemsi, movmemsi_internal): Change movmem to cpymem. * config/mcore/mcore.md (movmemsi): Change name to cpymemsi. * config/microblaze/microblaze.c: Change movmem to cpymem in comment. * config/microblaze/microblaze.md (movmemsi): Change name to cpymemsi. * config/mips/mips.c (mips_use_by_pieces_infrastructure_p): Change movmem to cpymem. * config/mips/mips.h: Change movmem to cpymem. * config/mips/mips.md (movmemsi): Change name to cpymemsi. * config/nds32/nds32-memory-manipulation.c (nds32_expand_movmemsi_loop_unknown_size, nds32_expand_movmemsi_loop_known_size, nds32_expand_movmemsi_loop, nds32_expand_movmemsi_unroll, nds32_expand_movmemsi): Change movmem to cpymem. * config/nds32/nds32-multiple.md (movmemsi): Change name to cpymemsi. * config/nds32/nds32-protos.h: Change movmem to cpymem. * config/pa/pa.c (compute_movmem_length): Change movmem to cpymem. (pa_adjust_insn_length): Change call to compute_movmem_length. * config/pa/pa.md (movmemsi, movmemsi_prereload, movmemsi_postreload, movmemdi, movmemdi_prereload, movmemdi_postreload): Change movmem to cpymem. * config/pdp11/pdp11.md (movmemhi, movmemhi1, movmemhi_nocc, UNSPEC_MOVMEM): Change movmem to cpymem. * config/riscv/riscv.c: Change movmem to cpymem in comment. * config/riscv/riscv.h: Change movmem to cpymem. * config/riscv/riscv.md: (movmemsi) Change name to cpymemsi. * config/rs6000/rs6000.md: (movmemsi) Change name to cpymemsi. * config/rx/rx.md: (UNSPEC_MOVMEM, movmemsi, rx_movmem): Change movmem to cpymem. * config/s390/s390-protos.h: Change movmem to cpymem. * config/s390/s390.c (s390_expand_movmem, s390_expand_setmem, s390_expand_insv): Change movmem to cpymem. * config/s390/s390.md (movmem<mode>, movmem_short, *movmem_short, movmem_long, *movmem_long, *movmem_long_31z): Change movmem to cpymem. * config/sh/sh.md (movmemsi): Change name to cpymemsi. * config/sparc/sparc.h: Change movmem to cpymem in comment. * config/vax/vax-protos.h (vax_output_movmemsi): Remove prototype for nonexistent function. * config/vax/vax.h: Change movmem to cpymem in comment. * config/vax/vax.md (movmemhi, movmemhi1): Change movmem to cpymem. * config/visium/visium.h: Change movmem to cpymem in comment. * config/visium/visium.md (movmemsi): Change name to cpymemsi. * config/xtensa/xtensa.md (movmemsi): Change name to cpymemsi. * doc/md.texi: Change movmem to cpymem and update description to match. * doc/rtl.texi: Change movmem to cpymem. * target.def (use_by_pieces_infrastructure_p): Change movmem to cpymem. * doc/tm.texi: Regenerate. From-SVN: r272755
Aaron Sawdey committed -
2019-06-27 Bill Schmidt <wschmidt@linux.ibm.com> * config/rs6000/rs6000.c (rs6000_option_override_internal): Enable -fvariable-expansion-in-unroller by default. * doc/invoke.texi (-fvariable-expansion-in-unroller): Document new default for Power. From-SVN: r272754
Bill Schmidt committed -
Revert 2019-06-26 David Edelsohn <dje.gcc@gmail.com> * config.gcc (powerpc-ibm-aix*): Define target_gtfiles. * config.gcc(rs6000-*-*): Define target_gtfiles. From-SVN: r272753
David Edelsohn committed -
* lto-common.c: tree-pretty-print.h (type_streaming_finished): New static var. (gimple_register_canonical_type_1): Return updated hash; handle ODR types. (iterative_hash_canonical_type): Update use of gimple_register_canonical_type_1. From-SVN: r272750
Jan Hubicka committed -
* class.c (layout_class_type): Set TYPE_CXX_ODR_P for as-base type copy. * ipa-devirt.c (odr_type_d): Add tbaa_enabled flag. (add_type_duplicate): When odr hash is not allocated, to nothing. (odr_based_tbaa_p): New function. (set_type_canonical_for_odr_type): New function. * ipa-utils.h (enable_odr_based_tbaa, odr_based_tbaa_p, set_type_canonical_for_odr_type): New. * tree.c (gimple_canonical_types_compatible_p): ODR types with ODR based TBAA are not equivalent to non-ODR types. * lto-common.c: Include demangle.h and tree-pretty-print.h (type_streaming_finished): New static var. (gimple_register_canonical_type_1): Return updated hash; handle ODR types. (iterative_hash_canonical_type): Update use of gimple_register_canonical_type_1. * g++.dg/lto/alias-2_0.C: New testcase. * g++.dg/lto/alias-2_1.C: New testcase. From-SVN: r272749
Jan Hubicka committed -
2019-06-27 Martin Liska <mliska@suse.cz> PR tree-optimization/90974 PR rtl-optimization/90975 PR rtl-optimization/90976 PR target/91016 PR tree-optimization/91017 * config/i386/i386-expand.c (ix86_expand_rounddf_32): Remove unused tmp. * lra.c (lra_set_insn_recog_data): Remove a leftover from initial commit of IRA. * optabs.c (expand_twoval_binop): Use xop0 and xop1 instead of op0 and op1. * tree-vect-loop.c (vect_create_epilog_for_reduction): Remove unused mode1. * tree-vect-stmts.c (vectorizable_call): Remove dead assignment to new_stmt_info. From-SVN: r272746
Martin Liska committed -
re PR target/90991 (_mm_loadu_ps instrinsic translates to vmovaps in combination with _mm512_insertf32x4) PR target/90991 * config/i386/sse.md (avx_vec_concat<mode>): Use nonimmediate_operand instead of register_operand for operands[1], add m to its constraints if operands[2] uses "C" constraint. Ensure in condition that if operands[2] is not 0, then operands[1] is not a MEM. For last two alternatives, use unaligned loads instead of aligned if operands[1] is misaligned_operand. * gcc.target/i386/avx2-pr90991-1.c: New test. * gcc.target/i386/avx512dq-pr90991-2.c: New test. From-SVN: r272745
Jakub Jelinek committed -
2019-06-27 Martin Liska <mliska@suse.cz> * asan.c (asan_emit_allocas_unpoison): Remove obviously dead assignments. * bt-load.c (move_btr_def): Likewise. * builtins.c (expand_builtin_apply_args_1): Likewise. (expand_builtin_apply): Likewise. * cfgexpand.c (expand_asm_stmt): Likewise. (construct_init_block): Likewise. * cfghooks.c (verify_flow_info): Likewise. * cfgloopmanip.c (remove_path): Likewise. * cfgrtl.c (rtl_verify_bb_layout): Likewise. * cgraph.c (cgraph_node::set_pure_flag): Likewise. * combine.c (simplify_if_then_else): Likewise. * config/i386/i386.c (ix86_setup_incoming_vararg_bounds): Likewise. (choose_basereg): Likewise. (ix86_expand_prologue): Likewise. (ix86_preferred_output_reload_class): Likewise. * cselib.c (cselib_record_sets): Likewise. * df-scan.c (df_scan_alloc): Likewise. * dojump.c (do_jump_by_parts_greater_rtx): Likewise. * early-remat.c (early_remat::record_equiv_candidates): Likewise. * emit-rtl.c (try_split): Likewise. * graphite-scop-detection.c (assign_parameter_index_in_region): Likewise. * ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Likewise. * ira-color.c (setup_profitable_hard_regs): Likewise. * ira.c (rtx_moveable_p): Likewise. * lra-eliminations.c (eliminate_regs_in_insn): Likewise. * read-rtl.c (read_subst_mapping): Likewise. * regrename.c (scan_rtx): Likewise. * reorg.c (fill_slots_from_thread): Likewise. * tree-inline.c (tree_function_versioning): Likewise. * tree-ssa-reassoc.c (optimize_ops_list): Likewise. * tree-ssa-sink.c (statement_sink_location): Likewise. * tree-ssa-threadedge.c (thread_across_edge): Likewise. * tree-vect-loop.c (vect_get_loop_niters): Likewise. (vect_create_epilog_for_reduction): Likewise. * tree.c (build_nonstandard_integer_type): Likewise. 2019-06-27 Martin Liska <mliska@suse.cz> * class.c (adjust_clone_args): Remove obviously dead assignments. (dump_class_hierarchy_r): Likewise. * decl.c (check_initializer): Likewise. * parser.c (cp_parser_lambda_expression): Likewise. * pt.c (unify_bound_ttp_args): Likewise. (convert_template_argument): Likewise. * rtti.c (build_headof): Likewise. * typeck.c (convert_for_initialization): Likewise. 2019-06-27 Martin Liska <mliska@suse.cz> * libgcov-driver-system.c (gcov_exit_open_gcda_file): Remove obviously dead assignments. * libgcov-util.c: Likewise. From-SVN: r272744
Martin Liska committed -
SSE2 is the required prereq of the builtins; as x86-64 has SSE2 enabled anyway, the test failure was noticable on 32-bit builds only. From-SVN: r272743
Jan Beulich committed -
2019-06-27 Richard Biener <rguenther@suse.de> * tree-ssa-sccvn.c (vn_reference_lookup_3): Encode valueized RHS. * gcc.dg/tree-ssa/ssa-fre-69.c: New testcase. From-SVN: r272742
Richard Biener committed -
PR tree-optimization/89772 * gimple-fold.c (gimple_fold_builtin_memchr): consider trailing nuls in out-of-bound accesses checking. gcc/testsuite * gcc.dg/builtin-memchr-4.c: New test. From-SVN: r272740
Jun Ma committed -
When I refactored the filesystem_error code I changed it to only use the constructor parameter in the what() string, instead of the string returned by system_error::what(). That meant it no longer included the description of the error_code that system_error adds. This restores the previous behaivour, as encouraged by the standard ("Implementations should include the system_error::what() string and the pathnames of path1 and path2 in the native format in the returned string"). PR libstdc++/91012 * src/c++17/fs_path.cc (filesystem_error::_Impl): Use a string_view for the what_arg parameters. (filesystem_error::filesystem_error): Pass system_error::what() to the _Impl constructor. * testsuite/27_io/filesystem/filesystem_error/cons.cc: Ensure that filesystem_error::what() contains system_error::what(). From-SVN: r272739
Jonathan Wakely committed -
2019-06-27 Martin Liska <mliska@suse.cz> PR tree-optimization/91014 * tree-ssa-dse.c (initialize_ao_ref_for_dse): Bail out when LHS is NULL_TREE. 2019-06-27 Martin Liska <mliska@suse.cz> PR tree-optimization/91014 * gcc.target/s390/pr91014.c: New test. From-SVN: r272738
Martin Liska committed -
2019-06-27 Richard Biener <rguenther@suse.de> PR testsuite/91004 * g++.dg/torture/pr34850.C: Fix overly reduced testcase. From-SVN: r272737
Richard Biener committed -
2019-06-27 Martin Liska <mliska@suse.cz> * symbol-summary.h (traverse): Pass argument a to the call of callback. (gt_ggc_mx): Mark arguments as unused. (gt_pch_nx): Likewise. From-SVN: r272734
Martin Liska committed -
2019-06-27 Martin Liska <mliska@suse.cz> * lto-dump.c (struct symbol_entry): Add default dtor. (struct variable_entry): Likewise. (struct function_entry): Likewise. (dump_list_functions): Release memory. (dump_list_variables): Likewise. 2019-06-27 Martin Liska <mliska@suse.cz> * libgcov-util.c (gcov_profile_merge): Release allocated memory. (calculate_overlap): Likewise. From-SVN: r272733
Martin Liska committed -
PR target/62147 * gcc/loop-iv.c (find_simple_exit) - if (single_exit (loop) && finite_loop_p (loop)) + if (desc->infinite && single_exit (loop) && finite_loop_p (loop)) From-SVN: r272732
Kewen Lin committed -
gcc/ChangeLog 2019-06-27 Kewen Lin <linkw@gcc.gnu.org> PR target/62147 * gcc/loop-iv.c (find_simple_exit): Call finite_loop_p to update finiteness. gcc/testsuite/ChangeLog 2019-06-27 Kewen Lin <linkw@gcc.gnu.org> PR target/62147 * gcc.target/powerpc/pr62147.c: New test. From-SVN: r272731
Kewen Lin committed -
PR tree-optimization/90883 * tree-ssa-dse.c (delete_dead_or_redundant_call): Fix signature. (delete_dead_or_redundant_assignment): Likewise. From-SVN: r272726
Jeff Law committed -
PR tree-optimization/90883 * tree-ssa-dse.c (delete_dead_or_redundant_call): Fix signature. (delete_dead_or_redundant_assignment): Likewise. From-SVN: r272725
Jeff Law committed -
From-SVN: r272723
GCC Administrator committed
-
- 26 Jun, 2019 14 commits
-
-
This type isn't used anywhere yet, but will be needed for the floating-point overloads of to_chars and from_chars. * include/std/charconv (chars_format): Define bitmask type. * testsuite/20_util/to_chars/chars_format.cc: New test. From-SVN: r272718
Jonathan Wakely committed -
PR tree-optimization/90883 * tree-ssa-alias.c (stmt_kills_ref_p): Handle BUILT_IN_CALLOC. * tree-ssa-dse.c: Update various comments to distinguish between dead and redundant stores. (initialize_ao_ref_for_dse): Handle BUILT_IN_CALLOC. (dse_optimize_redundant_stores): New function. (delete_dead_or_redundant_call): Renamed from delete_dead_call. Distinguish between dead and redundant calls in dump output. All callers updated. (delete_dead_or_redundant_assignment): Similarly for assignments. (dse_optimize_stmt): Handle _CHK variants. For statements which store 0 into multiple memory locations, try to prove a subsequent store is redundant. PR tree-optimization/90883 * g++.dg/tree-ssa/pr90883.C: New test. * gcc.dg/tree-ssa/ssa-dse-36.c: New test. From-SVN: r272717
Jeff Law committed -
PR target/89021 * config/i386/i386.c (ix86_autovectorize_vector_sizes): Autovectorize 8-byte vectors for TARGET_MMX_WITH_SSE. testsuite/ChangeLog: PR target/89021 * lib/target-supports.exp (available_vector_sizes) <[istarget i?86-*-*] || [istarget x86_64-*-*]>: Add 64-bit vectors for !ia32. From-SVN: r272711
Uros Bizjak committed -
To fix this we need to make the branch islands (or code) visible between both files. This keeps the generation side in rs6000.c and moves the output routine to rs6000-logue.c, placing a reference to the islands vector in rs6000-internal.h. 2019-06-26 Iain Sandoe <iain@sandoe.co.uk> * config/rs6000/rs6000-internal.h (branch_island): New typedef. (branch_islands): New extern. * config/rs6000/rs6000-logue.c (macho_branch_islands): Moved from * config/rs6000/rs6000.c: .. here. From-SVN: r272710
Iain Sandoe committed -
The new gt-rs6000-logue.h is common to all sub-targets in the port, so it needs to be added for them. It seems better to place the common target_gtfiles in the powerpc*-*-* section, rather than duplicating them in sub-targets. This would make it less likely that a sub-target would be overlooked in any future file introductions. 2019-06-26 Iain Sandoe <iain@sandoe.co.uk> * config.gcc (powerpc*-*-linux*): Move target_gtfiles from here.. (powerpc*-*-*) ... to here. From-SVN: r272708
Iain Sandoe committed -
tree-ssa-dse.c (initialize_ao_ref_for_dse): Handle _chk variants of memcpy, memmove and memset builtins. * tree-ssa-dse.c (initialize_ao_ref_for_dse): Handle _chk variants of memcpy, memmove and memset builtins. (maybe_trim_memstar_call): Likewise. * gcc.c-torture/execute/builtins/builtins.exp: Add -fno-tree-dse as DSE compromises several of these tests. * gcc.dg/builtin-stringop-chk-1.c: Similarly. * gcc.dg/memcpy-2.c: Similarly. * gcc.dg/pr40340-1.c: Similarly. * gcc.dg/pr40340-2.c: Similarly. * gcc.dg/pr40340-5.c: Similarly. From-SVN: r272704
Jeff Law committed -
2016-06-26 Steven G. Kargl <kargl@gcc.gnu.org> * ChangeLog: Document revision 272698 2016-06-26 Steven G. Kargl <kargl@gcc.gnu.org> * testsuite/ChangeLog: Document revision 272698 From-SVN: r272699
Steven G. Kargl committed -
Reuse the __is_one_of alias in additional places, and define traits to check for signed/unsigned integer types so we don't have to duplicate those checks elsewhere. The additional overloads for std::byte in <bit> were reviewed by LEWG and considered undesirable, so this patch removes them. * include/bits/fs_path.h (path::__is_encoded_char): Use __is_one_of. * include/std/bit (_If_is_unsigned_integer_type): Remove. (_If_is_unsigned_integer): Use __is_unsigned_integer. (rotl(byte, unsigned), rotr(byte, unsigned), countl_zero(byte)) (countl_one(byte), countr_zero(byte), countr_one(byte)) (popcount(byte), ispow2(byte), ceil2(byte), floor2(byte)) (log2p1(byte)): Remove. * include/std/charconv (__detail::__is_one_of): Move to <type_traits>. (__detail::__is_int_to_chars_type): Remove. (__detail::__integer_to_chars_result_type): Use __is_signed_integer and __is_unsigned_integer. * include/std/type_traits (__is_one_of): Move here from <charconv>. (__is_signed_integer, __is_unsigned_integer): New helpers. * testsuite/26_numerics/bit/bit.pow.two/ceil2.cc: Remove test for std::byte overload. * testsuite/26_numerics/bit/bit.pow.two/floor2.cc: Likewise. * testsuite/26_numerics/bit/bit.pow.two/ispow2.cc: Likewise. * testsuite/26_numerics/bit/bit.pow.two/log2p1.cc: Likewise. * testsuite/26_numerics/bit/bitops.count/countl_one.cc: Likewise. * testsuite/26_numerics/bit/bitops.count/countl_zero.cc: Likewise. * testsuite/26_numerics/bit/bitops.count/countr_one.cc: Likewise. * testsuite/26_numerics/bit/bitops.count/countr_zero.cc: Likewise. * testsuite/26_numerics/bit/bitops.count/popcount.cc: Likewise. * testsuite/26_numerics/bit/bitops.rot/rotl.cc: Likewise. * testsuite/26_numerics/bit/bitops.rot/rotr.cc: Likewise. From-SVN: r272695
Jonathan Wakely committed -
From-SVN: r272694
David Edelsohn committed -
From-SVN: r272693
David Edelsohn committed -
https://gcc.gnu.org/ml/gcc-patches/2019-06/msg01664.html libcpp/ PR preprocessor/90927 * mkdeps.c (mkdeps::vec::operator[]): Add non-const variant. (deps_add_target): Deal with out of order unquoted targets. gcc/testsuite/ * c-c++-common/pr90927.c: New. From-SVN: r272692
Nathan Sidwell committed -
This function is called from elsewhere, so shouldn't be static. * config/rs6000/rs6000-internal.h (rs6000_keep_leaf_when_profiled): New declaration. * config/rs6000/rs6000-logue.c (rs6000_keep_leaf_when_profiled): Remove "static". * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): Delete declaration. --- gcc/config/rs6000/rs6000-internal.h | 1 + gcc/config/rs6000/rs6000-logue.c | 4 ++-- gcc/config/rs6000/rs6000.c | 1 - 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gcc/config/rs6000/rs6000-internal.h b/gcc/config/rs6000/rs6000-internal.h index a1acb66..22ebd37 100644 --- a/gcc/config/rs6000/rs6000-internal.h +++ b/gcc/config/rs6000/rs6000-internal.h @@ -99,6 +99,7 @@ extern bool save_reg_p (int reg); extern const char * rs6000_machine_from_flags (void); extern void emit_asm_machine (void); extern bool rs6000_global_entry_point_prologue_needed_p (void); +extern bool rs6000_keep_leaf_when_profiled (void); /* Return true if the OFFSET is valid for the quad address instructions that use d-form (register + offset) addressing. */ diff --git a/gcc/config/rs6000/rs6000-logue.c b/gcc/config/rs6000/rs6000-logue.c index 9df4b5a..adc137b 100644 --- a/gcc/config/rs6000/rs6000-logue.c +++ b/gcc/config/rs6000/rs6000-logue.c @@ -4025,8 +4025,8 @@ rs6000_output_function_prologue (FILE *file) /* -mprofile-kernel code calls mcount before the function prolog, so a profiled leaf function should stay a leaf function. */ -static bool -rs6000_keep_leaf_when_profiled () +bool +rs6000_keep_leaf_when_profiled (void) { return TARGET_PROFILE_KERNEL; } diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 3fc4029..bcfc881 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -1338,7 +1338,6 @@ static bool rs6000_secondary_reload_move (enum rs6000_reg_type, secondary_reload_info *, bool); rtl_opt_pass *make_pass_analyze_swaps (gcc::context*); -static bool rs6000_keep_leaf_when_profiled () __attribute__ ((unused)); static tree rs6000_fold_builtin (tree, int, tree *, bool); /* Hash table stuff for keeping track of TOC entries. */ -- 1.8.3.1 From-SVN: r272691
Segher Boessenkool committed -
A large portion of the code moved from rs6000.c (to rs6000-logue.c) was accidentally retained. This fixes it. * rs6000.c: Fix previous commit, it missed some changes. From-SVN: r272690
Segher Boessenkool committed -
2019-06-26 Richard Biener <rguenther@suse.de> PR ipa/90982 * tree-inline.c (remap_ssa_name): Copy SSA range info. * g++.dg/torture/pr90982.C: New testcase. From-SVN: r272688
Richard Biener committed
-