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==
> 
>

Reply via email to