aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog2
-rw-r--r--gcc/flow.c1
2 files changed, 3 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ad5ebc5..a249777 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -3,6 +3,8 @@
* flow.c (split_edge): Don't allocate global_live_at_start for
the new block unless the old blocks had them as well.
+ * flow.c (mark_set_1): Respect not_dead when updating reg_live.
+
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 fa4e11a..2adad8c 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -4373,6 +4373,7 @@ mark_set_1 (pbi, code, reg, cond, insn, flags)
/* Mark the register as being dead. */
if (some_was_live
+ && ! not_dead
/* The stack pointer is never dead. Well, not strictly true,
but it's very difficult to tell from here. Hopefully
combine_stack_adjustments will fix up the most egregious