summaryrefslogtreecommitdiff
path: root/gcc/ssa.c
diff options
context:
space:
mode:
authorcpopetz <cpopetz@138bc75d-0d04-0410-961f-82ee72b054a4>2000-05-19 19:23:02 +0000
committercpopetz <cpopetz@138bc75d-0d04-0410-961f-82ee72b054a4>2000-05-19 19:23:02 +0000
commit8323cac577a50f41a0ff3ff01fca3241a1ab747e (patch)
treee1c76139171bd977379a9026f074f7936c24f1da /gcc/ssa.c
parentcdfdcee8fb2c5c421e432b6f7fa680bdf5a098a0 (diff)
downloadgcc-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.c6
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. */