aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/loop.c6
2 files changed, 7 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f486794..bb29e7c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-05-31 Pat Haugen <pthaugen@us.ibm.com>
+
+ * loop.c (loop_invariant_p, valid_initial_value_p): Revert last
+ change.
+
2005-05-31 Andrew Pinski <pinskia@physics.uc.edu>
PR middle-end/20931
diff --git a/gcc/loop.c b/gcc/loop.c
index 868b052..a25c1c0 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -3645,8 +3645,7 @@ loop_invariant_p (const struct loop *loop, rtx x)
return 1;
if (LOOP_INFO (loop)->has_call
- && REGNO (x) < FIRST_PSEUDO_REGISTER
- && TEST_HARD_REG_BIT (regs_invalidated_by_call, REGNO (x)))
+ && REGNO (x) < FIRST_PSEUDO_REGISTER && call_used_regs[REGNO (x)])
return 0;
/* Out-of-range regs can occur when we are called from unrolling.
@@ -6720,8 +6719,7 @@ valid_initial_value_p (rtx x, rtx insn, int call_seen, rtx loop_start)
some machines, don't use any hard registers at all. */
if (REGNO (x) < FIRST_PSEUDO_REGISTER
&& (SMALL_REGISTER_CLASSES
- || (call_seen
- && TEST_HARD_REG_BIT (regs_invalidated_by_call, REGNO (x)))))
+ || (call_seen && call_used_regs[REGNO (x)])))
return 0;
/* Don't use registers that have been clobbered before the start of the