aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-05-06 14:35:35 -0700
committerRichard Henderson <rth@gcc.gnu.org>2000-05-06 14:35:35 -0700
commit6482ee510f4125bfbe7b96257c3293b2f437cf39 (patch)
tree92b49b469ece186c45c43c6ebeeef1b06398a7d8
parente117276e049f1b0f213cfd524eaf261e6d1dc8a8 (diff)
downloadgcc-6482ee510f4125bfbe7b96257c3293b2f437cf39.zip
gcc-6482ee510f4125bfbe7b96257c3293b2f437cf39.tar.gz
gcc-6482ee510f4125bfbe7b96257c3293b2f437cf39.tar.bz2
flow.c (split_edge): Don't allocate global_live_at_start for the new block unless...
* 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
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/flow.c9
2 files changed, 7 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 06f2531..ad5ebc5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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__.
diff --git a/gcc/flow.c b/gcc/flow.c
index cdbf541..fa4e11a 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -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;