aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@redhat.com>2004-11-20 13:18:49 -0700
committerJeff Law <law@gcc.gnu.org>2004-11-20 13:18:49 -0700
commit40806b8b8f7a4d2ba6b926300f6a0dbcf862eb9d (patch)
tree538ba30cbb64de4c967030b7047eae6f87dfcb6c
parent7afc9b98cfdbe8918765e6b75b69a225a59d3be2 (diff)
downloadgcc-40806b8b8f7a4d2ba6b926300f6a0dbcf862eb9d.zip
gcc-40806b8b8f7a4d2ba6b926300f6a0dbcf862eb9d.tar.gz
gcc-40806b8b8f7a4d2ba6b926300f6a0dbcf862eb9d.tar.bz2
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
-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 8f3a6e9..ffbfc55 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 3856c2c..3153e5c 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))