diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8f3a6e9ba78b..ffbfc55c4cde 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-11-20 Jeff Law + + * regrename.c (copyprop_hardreg_forward): Only search for a + previously processed block if the current block only has one + predecessor. + 2004-11-20 Kazu Hirata * tree-ssa-threadupdate.c, tree-vectorizer.c: Fix comment diff --git a/gcc/regrename.c b/gcc/regrename.c index 3856c2cf0208..3153e5c353f7 100644 --- a/gcc/regrename.c +++ b/gcc/regrename.c @@ -1757,7 +1757,7 @@ copyprop_hardreg_forward (void) processed, begin with the value data that was live at the end of the predecessor block. */ /* ??? Ought to use more intelligent queuing of blocks. */ - if (EDGE_COUNT (bb->preds) > 0) + if (EDGE_COUNT (bb->preds) == 1) for (bbp = bb; bbp && bbp != EDGE_PRED (bb, 0)->src; bbp = bbp->prev_bb); if (EDGE_COUNT (bb->preds) == 1 && ! (EDGE_PRED (bb, 0)->flags & (EDGE_ABNORMAL_CALL | EDGE_EH))