From: Jeff Law Date: Sat, 20 Nov 2004 20:18:49 +0000 (-0700) Subject: regrename.c (copyprop_hardreg_forward): Only search for a previously processed block... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=40806b8b8f7a4d2ba6b926300f6a0dbcf862eb9d;p=gcc.git regrename.c (copyprop_hardreg_forward): Only search for a previously processed block if... * regrename.c (copyprop_hardreg_forward): Only search for a previously processed block if the current block only has one predecessor. From-SVN: r90968 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8f3a6e9ba78..ffbfc55c4cd 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 3856c2cf020..3153e5c353f 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))