- 27 Jun, 2019 19 commits
-
-
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 21 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 -
2019-06-26 Richard Biener <rguenther@suse.de> * lto-streamer.h (lto_bitmap_alloc): Remove. (lto_bitmap_free): Likewise. * lto-streamer.c (lto_bitmap_alloc): Remove. (lto_bitmap_free): Likewise. (lto_obstack): Likewise. (lto_obstack_initialized): Likewise. * lto-streamer-out.c (lto_output): Use own obstack for local bitmap, free it consistently. From-SVN: r272687
Richard Biener committed -
* sanitizer_common/sanitizer_posix_libcdep.cc: Cherry-pick compiler-rt revision 363778. From-SVN: r272685
Rainer Orth committed -
2019-06-26 Paolo Carlini <paolo.carlini@oracle.com> PR c++/67184 PR c++/69445 * g++.dg/other/final3.C: New. * g++.dg/other/final5.C: Likewise. From-SVN: r272675
Paolo Carlini committed -
re PR target/90991 (_mm_loadu_ps instrinsic translates to vmovaps in combination with _mm512_insertf32x4) PR target/90991 * config/i386/sse.md (*<extract_type>_vinsert<shuffletype><extract_suf>_0): Use vmovupd, vmovups, vmovdqu, vmovdqu32 or vmovdqu64 instead of the aligned insns if operands[2] is misaligned_operand. * gcc.target/i386/avx512dq-pr90991-1.c: New test. From-SVN: r272674
Jakub Jelinek committed -
From PowerPC ISA3.0, the description of `maddld RT, RA.RB, RC` is as follows: 64-bit RA and RB are multiplied and then the RC is signed extend to 128 bits, and add them together. We only apply it to 64-bit mode (DI) when implementing maddld. However, if we can guarantee that the result of the maddld operation will be limited to 32-bit mode (SI), we can still apply it to 32-bit mode (SI). gcc/ChangeLog 2019-06-26 Li Jia He <helijia@linux.ibm.com> * config/rs6000/rs6000.h (TARGET_MADDLD): Remove the restriction of TARGET_POWERPC64. * config/rs6000/rs6000.md (maddld): Change maddld match_operand from DI to GPR. gcc/testsuite/ChangeLog 2019-06-26 Li Jia He <helijia@linux.ibm.com> * gcc.target/powerpc/maddld-1.c: New testcase. From-SVN: r272673
Li Jia He committed -
@opindex -Wxxx is wrong; it should be @opindex Wxxx. * doc/invoke.texi (Warning Options): Fix some @opindex syntax. From-SVN: r272672
Segher Boessenkool committed -
2019-06-26 Martin Liska <mliska@suse.cz> PR tree-optimization/90973 * tree-vect-loop.c (vect_get_known_peeling_cost): Use epilogue_cost_vec instead of prologue_cost_vec for a epilogue cost. From-SVN: r272671
Martin Liska committed
-