aboutsummaryrefslogtreecommitdiff
path: root/gcc/ssa.c
diff options
context:
space:
mode:
authorClinton Popetz <cpopetz@cygnus.com>2000-05-19 19:23:02 +0000
committerClinton Popetz <cpopetz@gcc.gnu.org>2000-05-19 15:23:02 -0400
commit555a0aa72ec175bc2a8498db3fceaaedeff840a8 (patch)
treee1c76139171bd977379a9026f074f7936c24f1da /gcc/ssa.c
parentea25bef41ff2d9c750ca29a0a9901a64c804f639 (diff)
downloadgcc-555a0aa72ec175bc2a8498db3fceaaedeff840a8.zip
gcc-555a0aa72ec175bc2a8498db3fceaaedeff840a8.tar.gz
gcc-555a0aa72ec175bc2a8498db3fceaaedeff840a8.tar.bz2
ssa.c (convert_from_ssa): Tell life_analysis we need death notes.
* ssa.c (convert_from_ssa): Tell life_analysis we need death notes. (make_regs_equivalent_over_bad_edges): Only look at abnormal critical edges. From-SVN: r34031
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 b89bf15..dd4b473 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. */