diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/regrename.c | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 114d604..56fd127 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 6014274..3236a43 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]; |