https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68117

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ienkovich at gcc dot gnu.org

--- Comment #9 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #8)
> Does it only reproduce with a LTO built compiler?  Usually gc-checking with
> always-collect might help tracking down GC issues (which this looks like
> one).

It also happens with a --disable-bootstrap compiler.

Valgrind points to r228599:

==114559== Invalid write of size 8
==114559==    at 0x10866488: link_imm_use_to_list (ssa-iterators.h:261)
==114559==    by 0x10866488: link_imm_use (ssa-iterators.h:278)
==114559==    by 0x10866488: set_ssa_use_from_ptr (ssa-iterators.h:288)
==114559==    by 0x10866488: add_phi_arg(gphi*, tree_node*, edge_def*, unsigned
int) (tree-phinodes.c:382)
==114559==    by 0x109A814F: flush_pending_stmts(edge_def*) (tree-ssa.c:195)
==114559==    by 0x103B94C3: loop_version(loop*, void*, basic_block_def**,
unsigned int, unsigned int, unsigned int, bool) (cfgloopmanip.c:1753)
==114559==    by 0x1090F687: tree_unswitch_loop (tree-ssa-loop-unswitch.c:423)
==114559==    by 0x1090F687: tree_unswitch_single_loop(loop*, int)
(tree-ssa-loop-unswitch.c:383)
==114559==    by 0x1090FF0F: tree_ssa_unswitch_loops()
(tree-ssa-loop-unswitch.c:106)
==114559==    by 0x106D856B: execute_one_pass(opt_pass*) (passes.c:2338)
==114559==    by 0x106D8AB3: execute_pass_list_1(opt_pass*) (passes.c:2391)
==114559==    by 0x106D8ACB: execute_pass_list_1(opt_pass*) (passes.c:2392)
==114559==    by 0x106D8ACB: execute_pass_list_1(opt_pass*) (passes.c:2392)
==114559==    by 0x106D8B53: execute_pass_list(function*, opt_pass*)
(passes.c:2402)
==114559==    by 0x103DDECB: cgraph_node::expand() (cgraphunit.c:1976)
==114559==    by 0x103DFA57: expand_all_functions (cgraphunit.c:2112)
==114559==    by 0x103DFA57: symbol_table::compile() (cgraphunit.c:2461)
==114559==  Address 0x24039848 is not stack'd, malloc'd or (recently) free'd
==114559==
==114559== Invalid write of size 8
==114559==    at 0x108665C0: delink_imm_use (ssa-iterators.h:248)
==114559==    by 0x108665C0: remove_phi_arg_num (tree-phinodes.c:400)
==114559==    by 0x108665C0: remove_phi_args(edge_def*) (tree-phinodes.c:433)
==114559==    by 0x107EA977: gimple_execute_on_shrinking_pred(edge_def*)
(tree-cfg.c:8193)
==114559==    by 0x103AA707: execute_on_shrinking_pred(edge_def*)
(cfghooks.c:1207)
==114559==    by 0x10D2C813: redirect_edge_succ(edge_def*, basic_block_def*)
(cfg.c:361)
==114559==    by 0x103A8D8B: redirect_edge_succ_nodup(edge_def*,
basic_block_def*) (cfghooks.c:444)
==114559==    by 0x109A8C27: ssa_redirect_edge(edge_def*, basic_block_def*)
(tree-ssa.c:166)
==114559==    by 0x107FBEDB: gimple_redirect_edge_and_branch(edge_def*,
basic_block_def*) (tree-cfg.c:5677)
==114559==    by 0x103A89F3: redirect_edge_and_branch(edge_def*,
basic_block_def*) (cfghooks.c:358)
==114559==    by 0x107F4C57: gimple_split_edge(edge_def*) (tree-cfg.c:2747)
==114559==    by 0x103A92B7: split_edge(edge_def*) (cfghooks.c:629)
==114559==    by 0x103B94FB: loop_version(loop*, void*, basic_block_def**,
unsigned int, unsigned int, unsigned int, bool) (cfgloopmanip.c:1782)
==114559==    by 0x1090F687: tree_unswitch_loop (tree-ssa-loop-unswitch.c:423)
==114559==    by 0x1090F687: tree_unswitch_single_loop(loop*, int)
(tree-ssa-loop-unswitch.c:383)
==114559==  Address 0x24039848 is not stack'd, malloc'd or (recently) free'd
==114559==
==114559== Invalid write of size 8
==114559==    at 0x10866488: link_imm_use_to_list (ssa-iterators.h:261)
==114559==    by 0x10866488: link_imm_use (ssa-iterators.h:278)
==114559==    by 0x10866488: set_ssa_use_from_ptr (ssa-iterators.h:288)
==114559==    by 0x10866488: add_phi_arg(gphi*, tree_node*, edge_def*, unsigned
int) (tree-phinodes.c:382)
==114559==    by 0x107F4D0F: reinstall_phi_args (tree-cfg.c:2698)
==114559==    by 0x107F4D0F: gimple_split_edge(edge_def*) (tree-cfg.c:2749)
==114559==    by 0x103B94FB: loop_version(loop*, void*, basic_block_def**,
unsigned int, unsigned int, unsigned int, bool) (cfgloopmanip.c:1782)
==114559==    by 0x1090F687: tree_unswitch_loop (tree-ssa-loop-unswitch.c:423)
==114559==    by 0x1090F687: tree_unswitch_single_loop(loop*, int)
(tree-ssa-loop-unswitch.c:383)
==114559==    by 0x1090FF0F: tree_ssa_unswitch_loops()
(tree-ssa-loop-unswitch.c:106)
==114559==    by 0x106D856B: execute_one_pass(opt_pass*) (passes.c:2338)
==114559==    by 0x106D8AB3: execute_pass_list_1(opt_pass*) (passes.c:2391)
==114559==    by 0x106D8ACB: execute_pass_list_1(opt_pass*) (passes.c:2392)
==114559==    by 0x106D8ACB: execute_pass_list_1(opt_pass*) (passes.c:2392)
==114559==    by 0x106D8B53: execute_pass_list(function*, opt_pass*)
(passes.c:2402)
==114559==    by 0x103DDECB: cgraph_node::expand() (cgraphunit.c:1976)
==114559==    by 0x103DFA57: expand_all_functions (cgraphunit.c:2112)
==114559==    by 0x103DFA57: symbol_table::compile() (cgraphunit.c:2461)
==114559==  Address 0x24039848 is not stack'd, malloc'd or (recently) free'd
==114559==

Reply via email to