aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-02-24 14:32:10 -0800
committerRichard Henderson <rth@gcc.gnu.org>2000-02-24 14:32:10 -0800
commitc8082519f279ac59aca7b534b1ac4c8430a35e87 (patch)
tree400e6c00bd72a7756ca160bd707d7aa376a06d8a /gcc
parente5f8d4c0c773d4fb4f92c1a2feed01b4806d3d80 (diff)
downloadgcc-c8082519f279ac59aca7b534b1ac4c8430a35e87.zip
gcc-c8082519f279ac59aca7b534b1ac4c8430a35e87.tar.gz
gcc-c8082519f279ac59aca7b534b1ac4c8430a35e87.tar.bz2
flow.c (life_analysis): When collecting reg info, clear regs_ever_live.
* flow.c (life_analysis): When collecting reg info, clear regs_ever_live. From-SVN: r32139
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/flow.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a337cf9..5424ba4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2000-02-24 Richard Henderson <rth@cygnus.com>
+
+ * flow.c (life_analysis): When collecting reg info, clear
+ regs_ever_live.
+
Thu Feb 24 22:06:52 2000 J"orn Rennecke <amylaar@cygnus.co.uk>
Fix bug exposed by reload.c no longer rounding the frame
diff --git a/gcc/flow.c b/gcc/flow.c
index a7217db..bde9945 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -2524,6 +2524,9 @@ life_analysis (f, nregs, file, remove_dead_code)
/* "Update" life info from zero. It'd be nice to begin the
relaxation with just the exit and noreturn blocks, but that set
is not immediately handy. */
+
+ if (flags & PROP_REG_INFO)
+ memset (regs_ever_live, 0, sizeof(regs_ever_live));
update_life_info (all_blocks, UPDATE_LIFE_GLOBAL, flags);
/* Clean up. */