From: Richard Guenther Date: Thu, 5 Apr 2012 12:43:25 +0000 (+0000) Subject: tree-ssa-dse.c (dse_optimize_stmt): Remember the stmt basic-block before removing it. X-Git-Tag: misc/gccgo-go1_1_2~3640 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=eaf6ca186f3f165d0b641e02461dcb57d9c0d04d;p=thirdparty%2Fgcc.git tree-ssa-dse.c (dse_optimize_stmt): Remember the stmt basic-block before removing it. 2012-04-05 Richard Guenther * tree-ssa-dse.c (dse_optimize_stmt): Remember the stmt basic-block before removing it. From-SVN: r186164 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 827397000605..d4db3357f4fe 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2012-04-05 Richard Guenther + + * tree-ssa-dse.c (dse_optimize_stmt): Remember the stmt + basic-block before removing it. + 2012-04-05 Richard Guenther * tree-ssanames.c (release_dead_ssa_names): Compact the SSA diff --git a/gcc/tree-ssa-dse.c b/gcc/tree-ssa-dse.c index 93ba42506d78..1fdb26c5c70f 100644 --- a/gcc/tree-ssa-dse.c +++ b/gcc/tree-ssa-dse.c @@ -232,6 +232,8 @@ dse_optimize_stmt (gimple_stmt_iterator gsi) gimple_get_lhs (use_stmt), 0))) || stmt_kills_ref_p (use_stmt, gimple_assign_lhs (stmt))) { + basic_block bb; + /* If use_stmt is or might be a nop assignment, e.g. for struct { ... } S a, b, *p; ... b = a; b = b; @@ -258,8 +260,9 @@ dse_optimize_stmt (gimple_stmt_iterator gsi) unlink_stmt_vdef (stmt); /* Remove the dead store. */ + bb = gimple_bb (stmt); if (gsi_remove (&gsi, true)) - bitmap_set_bit (need_eh_cleanup, gimple_bb (stmt)->index); + bitmap_set_bit (need_eh_cleanup, bb->index); /* And release any SSA_NAMEs set in this statement back to the SSA_NAME manager. */