From b1671a213337a244058f7144a9d43278e44103e2 Mon Sep 17 00:00:00 2001 From: dje Date: Mon, 30 May 2005 23:34:08 +0000 Subject: [PATCH] 2005-05-30 Pat Haugen * loop.c (loop_invariant_p, valid_initial_value_p): Use regs_invalidated_by_call instead of call_used_regs. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@100378 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 5 +++++ gcc/loop.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f28847d..830bfc6 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-05-30 Pat Haugen + + * loop.c (loop_invariant_p, valid_initial_value_p): Use + regs_invalidated_by_call instead of call_used_regs. + 2005-05-30 Paolo Carlini PR middle-end/21743 diff --git a/gcc/loop.c b/gcc/loop.c index eaa1bd9..868b052 100644 --- a/gcc/loop.c +++ b/gcc/loop.c @@ -3645,7 +3645,8 @@ loop_invariant_p (const struct loop *loop, rtx x) return 1; if (LOOP_INFO (loop)->has_call - && REGNO (x) < FIRST_PSEUDO_REGISTER && call_used_regs[REGNO (x)]) + && REGNO (x) < FIRST_PSEUDO_REGISTER + && TEST_HARD_REG_BIT (regs_invalidated_by_call, REGNO (x))) return 0; /* Out-of-range regs can occur when we are called from unrolling. @@ -6719,7 +6720,8 @@ 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_used_regs[REGNO (x)] && call_seen))) + || (call_seen + && TEST_HARD_REG_BIT (regs_invalidated_by_call, REGNO (x))))) return 0; /* Don't use registers that have been clobbered before the start of the -- 2.7.4