flow.c (split_edge): Don't allocate global_live_at_start for the new block unless...
authorRichard Henderson <rth@cygnus.com>
Sat, 6 May 2000 21:35:35 +0000 (14:35 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Sat, 6 May 2000 21:35:35 +0000 (14:35 -0700)
        * flow.c (split_edge): Don't allocate global_live_at_start for
        the new block unless the old blocks had them as well.

From-SVN: r33735

gcc/ChangeLog
gcc/flow.c

index 06f25313db3926acb3de68d8e0637355bef355b2..ad5ebc50417fbfb659934b5467d7ab0b3681fd0b 100644 (file)
@@ -1,3 +1,8 @@
+2000-05-06  Richard Henderson  <rth@cygnus.com>
+
+       * flow.c (split_edge): Don't allocate global_live_at_start for
+       the new block unless the old blocks had them as well.
+
 2000-05-06  Zack Weinberg  <zack@wolery.cumb.org>
 
        * cpphash.h: Remove conditional #define of __extension__.
index cdbf541f58f53051c5247eede38fe3628bd66adb..fa4e11a2615ef161930c08d584341418445e3132 100644 (file)
@@ -1349,20 +1349,15 @@ split_edge (edge_in)
   n_edges++;
 
   memset (bb, 0, sizeof (*bb));
-  bb->global_live_at_start = OBSTACK_ALLOC_REG_SET (function_obstack);
-  bb->global_live_at_end = OBSTACK_ALLOC_REG_SET (function_obstack);
 
   /* ??? This info is likely going to be out of date very soon.  */
   if (old_succ->global_live_at_start)
     {
+      bb->global_live_at_start = OBSTACK_ALLOC_REG_SET (function_obstack);
+      bb->global_live_at_end = OBSTACK_ALLOC_REG_SET (function_obstack);
       COPY_REG_SET (bb->global_live_at_start, old_succ->global_live_at_start);
       COPY_REG_SET (bb->global_live_at_end, old_succ->global_live_at_start);
     }
-  else
-    {
-      CLEAR_REG_SET (bb->global_live_at_start);
-      CLEAR_REG_SET (bb->global_live_at_end);
-    }
 
   /* Wire them up.  */
   bb->pred = edge_in;