diff options
author | cpopetz <cpopetz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-05-19 19:23:02 +0000 |
---|---|---|
committer | cpopetz <cpopetz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2000-05-19 19:23:02 +0000 |
commit | 8323cac577a50f41a0ff3ff01fca3241a1ab747e (patch) | |
tree | e1c76139171bd977379a9026f074f7936c24f1da /gcc/ssa.c | |
parent | cdfdcee8fb2c5c421e432b6f7fa680bdf5a098a0 (diff) | |
download | gcc-8323cac577a50f41a0ff3ff01fca3241a1ab747e.tar.gz |
* ssa.c (convert_from_ssa): Tell life_analysis we need death
notes.
(make_regs_equivalent_over_bad_edges): Only look at abnormal
critical edges.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34031 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ssa.c')
-rw-r--r-- | gcc/ssa.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/ssa.c b/gcc/ssa.c index b89bf15e88d..dd4b4736164 100644 --- a/gcc/ssa.c +++ b/gcc/ssa.c @@ -1221,7 +1221,8 @@ make_regs_equivalent_over_bad_edges (bb, reg_partition) /* Scan incoming abnormal critical edges. */ for (e = b->pred; e; e = e->pred_next) - if (e->flags & (EDGE_ABNORMAL | EDGE_CRITICAL)) + if ((e->flags & (EDGE_ABNORMAL | EDGE_CRITICAL)) + == (EDGE_ABNORMAL | EDGE_CRITICAL)) { rtx *alt = phi_alternative (set, e->src->index); int alt_regno; @@ -1812,7 +1813,8 @@ convert_from_ssa() rtx insns = get_insns (); /* Need global_live_at_{start,end} up to date. */ - life_analysis (insns, NULL, PROP_KILL_DEAD_CODE | PROP_SCAN_DEAD_CODE); + life_analysis (insns, NULL, + PROP_KILL_DEAD_CODE | PROP_SCAN_DEAD_CODE | PROP_DEATH_NOTES); /* Figure out which regs in copies and phi nodes don't conflict and therefore can be coalesced. */ |