diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ad5ebc50417..a24977720e7 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 * cpphash.h: Remove conditional #define of __extension__. diff --git a/gcc/flow.c b/gcc/flow.c index fa4e11a2615..2adad8c9162 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