diff options
author | Pat Haugen <pthaugen@us.ibm.com> | 2005-05-30 23:34:08 +0000 |
---|---|---|
committer | David Edelsohn <dje@gcc.gnu.org> | 2005-05-30 19:34:08 -0400 |
commit | 3c6fcc101a30bc0010fc4ac2162eff926ac804d1 (patch) | |
tree | ae42444ba1fba4d154c752d14c099a2e6a67853a /gcc/loop.c | |
parent | c0309c74caa1610563501948e1ddfcd1e997556d (diff) | |
download | gcc-3c6fcc101a30bc0010fc4ac2162eff926ac804d1.zip gcc-3c6fcc101a30bc0010fc4ac2162eff926ac804d1.tar.gz gcc-3c6fcc101a30bc0010fc4ac2162eff926ac804d1.tar.bz2 |
loop.c (loop_invariant_p, [...]): Use regs_invalidated_by_call instead of call_used_regs.
2005-05-30 Pat Haugen <pthaugen@us.ibm.com>
* loop.c (loop_invariant_p, valid_initial_value_p): Use
regs_invalidated_by_call instead of call_used_regs.
From-SVN: r100378
Diffstat (limited to 'gcc/loop.c')
-rw-r--r-- | gcc/loop.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -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 |