* regrename.c (copyprop_hardreg_forward): Only search for a
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 20 Nov 2004 20:18:49 +0000 (20:18 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 20 Nov 2004 20:18:49 +0000 (20:18 +0000)
        previously processed block if the current block only has one
        predecessor.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@90968 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/regrename.c

index 8f3a6e9..ffbfc55 100644 (file)
@@ -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
index 3856c2c..3153e5c 100644 (file)
@@ -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))