From 40806b8b8f7a4d2ba6b926300f6a0dbcf862eb9d Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Sat, 20 Nov 2004 13:18:49 -0700 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/regrename.c | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) 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)) -- 2.30.2