aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-05-06 14:36:35 -0700
committerRichard Henderson <rth@gcc.gnu.org>2000-05-06 14:36:35 -0700
commit507741dd590a95624f242c68b7f93b0b40192bcf (patch)
treefa08fdca3d63df38bf4f98b4b55b53ffc9676aba
parent6482ee510f4125bfbe7b96257c3293b2f437cf39 (diff)
downloadgcc-507741dd590a95624f242c68b7f93b0b40192bcf.zip
gcc-507741dd590a95624f242c68b7f93b0b40192bcf.tar.gz
gcc-507741dd590a95624f242c68b7f93b0b40192bcf.tar.bz2
* flow.c (mark_set_1): Respect not_dead when updating reg_live.
From-SVN: r33736
-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