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
This commit is contained in:
parent
c0309c74ca
commit
3c6fcc101a
@ -1,3 +1,8 @@
|
||||
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.
|
||||
|
||||
2005-05-30 Paolo Carlini <pcarlini@suse.de>
|
||||
|
||||
PR middle-end/21743
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user