https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68117
--- Comment #10 from rguenther at suse dot de <rguenther at suse dot de> --- On Thu, 29 Oct 2015, trippels at gcc dot gnu.org wrote: > 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: Nothing obvious but does removing mark_virtual_operands_for_renaming (cfun); help? It's the only thing that may end up releasing SSA names (if only virtuals). > ==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== > >