ssa.c (convert_from_ssa): Tell life_analysis we need death notes.
authorClinton Popetz <cpopetz@cygnus.com>
Fri, 19 May 2000 19:23:02 +0000 (19:23 +0000)
committerClinton Popetz <cpopetz@gcc.gnu.org>
Fri, 19 May 2000 19:23:02 +0000 (15:23 -0400)
* 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

gcc/ChangeLog
gcc/ssa.c

index 668a377724a334f3b1af98db67ac04b7a8f0328c..54e7627562f3785977518115c73cc990f8d1a394 100644 (file)
@@ -1,3 +1,10 @@
+Fri May 19 12:05:13 2000  Clinton Popetz  <cpopetz@cygnus.com>
+
+       * ssa.c (convert_from_ssa): Tell life_analysis we need death 
+       notes.
+       (make_regs_equivalent_over_bad_edges): Only look at abnormal
+       critical edges.
+
 2000-05-19  Zack Weinberg  <zack@wolery.cumb.org>
 
        * cpphash.c (funlike_macroexpand): Make sure not to walk p1
index b89bf15e88d9748be018fb0ea51d9c51297840e5..dd4b4736164d3467b806bbcb6360a9d20eb968d6 100644 (file)
--- 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.  */