mirror of git://gcc.gnu.org/git/gcc.git
re PR bootstrap/53197 (bootstrap comparison failure)
PR bootstrap/53197 * tree-ssa-dse.c (dse_optimize_stmt): Take pointer to iterator. (dse_enter_block): Properly iterate the whole sequence even if the last statement was removed. From-SVN: r187074
This commit is contained in:
parent
f5c1a63312
commit
0285a18ecd
|
@ -1,3 +1,11 @@
|
||||||
|
2012-05-03 Michael Matz <matz@suse.de>
|
||||||
|
|
||||||
|
PR bootstrap/53197
|
||||||
|
* tree-ssa-dse.c (dse_optimize_stmt): Take pointer to
|
||||||
|
iterator.
|
||||||
|
(dse_enter_block): Properly iterate the whole sequence even
|
||||||
|
if the last statement was removed.
|
||||||
|
|
||||||
2012-05-02 Steven Bosscher <steven@gcc.gnu.org>
|
2012-05-02 Steven Bosscher <steven@gcc.gnu.org>
|
||||||
|
|
||||||
* config/alpha/vms.h (SUBTARGET_OVERRIDE_OPTIONS): For pic code,
|
* config/alpha/vms.h (SUBTARGET_OVERRIDE_OPTIONS): For pic code,
|
||||||
|
|
|
@ -199,9 +199,9 @@ dse_possible_dead_store_p (gimple stmt, gimple *use_stmt)
|
||||||
post dominates the first store, then the first store is dead. */
|
post dominates the first store, then the first store is dead. */
|
||||||
|
|
||||||
static void
|
static void
|
||||||
dse_optimize_stmt (gimple_stmt_iterator gsi)
|
dse_optimize_stmt (gimple_stmt_iterator *gsi)
|
||||||
{
|
{
|
||||||
gimple stmt = gsi_stmt (gsi);
|
gimple stmt = gsi_stmt (*gsi);
|
||||||
|
|
||||||
/* If this statement has no virtual defs, then there is nothing
|
/* If this statement has no virtual defs, then there is nothing
|
||||||
to do. */
|
to do. */
|
||||||
|
@ -252,7 +252,7 @@ dse_optimize_stmt (gimple_stmt_iterator gsi)
|
||||||
if (dump_file && (dump_flags & TDF_DETAILS))
|
if (dump_file && (dump_flags & TDF_DETAILS))
|
||||||
{
|
{
|
||||||
fprintf (dump_file, " Deleted dead store '");
|
fprintf (dump_file, " Deleted dead store '");
|
||||||
print_gimple_stmt (dump_file, gsi_stmt (gsi), dump_flags, 0);
|
print_gimple_stmt (dump_file, gsi_stmt (*gsi), dump_flags, 0);
|
||||||
fprintf (dump_file, "'\n");
|
fprintf (dump_file, "'\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -261,7 +261,7 @@ dse_optimize_stmt (gimple_stmt_iterator gsi)
|
||||||
|
|
||||||
/* Remove the dead store. */
|
/* Remove the dead store. */
|
||||||
bb = gimple_bb (stmt);
|
bb = gimple_bb (stmt);
|
||||||
if (gsi_remove (&gsi, true))
|
if (gsi_remove (gsi, true))
|
||||||
bitmap_set_bit (need_eh_cleanup, bb->index);
|
bitmap_set_bit (need_eh_cleanup, bb->index);
|
||||||
|
|
||||||
/* And release any SSA_NAMEs set in this statement back to the
|
/* And release any SSA_NAMEs set in this statement back to the
|
||||||
|
@ -277,8 +277,14 @@ dse_enter_block (struct dom_walk_data *walk_data ATTRIBUTE_UNUSED,
|
||||||
{
|
{
|
||||||
gimple_stmt_iterator gsi;
|
gimple_stmt_iterator gsi;
|
||||||
|
|
||||||
for (gsi = gsi_last_bb (bb); !gsi_end_p (gsi); gsi_prev (&gsi))
|
for (gsi = gsi_last_bb (bb); !gsi_end_p (gsi);)
|
||||||
dse_optimize_stmt (gsi);
|
{
|
||||||
|
dse_optimize_stmt (&gsi);
|
||||||
|
if (gsi_end_p (gsi))
|
||||||
|
gsi = gsi_last_bb (bb);
|
||||||
|
else
|
||||||
|
gsi_prev (&gsi);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Main entry point. */
|
/* Main entry point. */
|
||||||
|
|
Loading…
Reference in New Issue