aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/loop.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5318c9a..784d3b0 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2003-06-29 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
+
+ * loop.c (count_one_set): Fix detection of registers set in more
+ than one basic block.
+
2003-06-29 Andreas Jaeger <aj@suse.de>
* target-def.h: Remove usage of OBJECT_FORMAT_ROSE.
diff --git a/gcc/loop.c b/gcc/loop.c
index ae7edab..8c6a0e5 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -3617,7 +3617,7 @@ count_one_set (regs, insn, x, last_set)
it must be set in two basic blocks, so it cannot
be moved out of the loop. */
if (regs->array[regno].set_in_loop > 0
- && last_set == 0)
+ && last_set[regno] == 0)
regs->array[regno+i].may_not_optimize = 1;
/* If this is not first setting in current basic block,
see if reg was used in between previous one and this.