* ssa.c (convert_from_ssa): Tell life_analysis we need death
authorcpopetz <cpopetz@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 May 2000 19:23:02 +0000 (19:23 +0000)
committercpopetz <cpopetz@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 19 May 2000 19:23:02 +0000 (19:23 +0000)
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

gcc/ChangeLog
gcc/ssa.c

index 668a377..54e7627 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 b89bf15..dd4b473 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.  */