summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/regrename.c2
2 files changed, 7 insertions, 1 deletions
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 <law@redhat.com>
+
+ * 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 <kazu@cs.umass.edu>
* 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))
OpenPOWER on IntegriCloud