summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2001-12-15 15:36:14 +0000
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2001-12-15 15:36:14 +0000
commit2e5f8c606bc942dfebd401a4ac3b9ec3f6099802 (patch)
tree7670c8f7bf0879e43d4f1df6768fbf299eee65e3
parente62299bd965bc033f9a6682ad617ef9bff807a0b (diff)
downloadppe42-gcc-2e5f8c606bc942dfebd401a4ac3b9ec3f6099802.tar.gz
ppe42-gcc-2e5f8c606bc942dfebd401a4ac3b9ec3f6099802.zip
* regrename.c (copyprop_hardreg_forward): Do not keep register
value data live across abnormal call or eh egdes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48043 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/regrename.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 114d6045f0c..56fd127102b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2001-12-15 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * regrename.c (copyprop_hardreg_forward): Do not keep register
+ value data live across abnormal call or eh egdes.
+
Sat Dec 15 08:29:45 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* expr.c (highest_pow2_factor, case INTEGER_CST): Return
diff --git a/gcc/regrename.c b/gcc/regrename.c
index 6014274acfe..3236a438287 100644
--- a/gcc/regrename.c
+++ b/gcc/regrename.c
@@ -1626,6 +1626,7 @@ copyprop_hardreg_forward ()
/* ??? Ought to use more intelligent queueing of blocks. */
if (bb->pred
&& ! bb->pred->pred_next
+ && ! (bb->pred->flags & (EDGE_ABNORMAL_CALL | EDGE_EH))
&& bb->pred->src->index != ENTRY_BLOCK
&& bb->pred->src->index < b)
all_vd[b] = all_vd[bb->pred->src->index];
OpenPOWER on IntegriCloud