[patch] Store motion rewrite
Richard Henderson
rth@redhat.com
Wed Apr 2 01:39:00 GMT 2003
On Wed, Apr 02, 2003 at 12:53:08AM +0200, Zdenek Dvorak wrote:
> ! /* But even a const call reads its parameters. Check whether the
> ! base of some of registers used in mem is stack pointer. */
> ! for (reg = x_regs; reg; reg = XEXP (reg, 1))
> ! {
> ! base = find_base_term (reg);
> ! if (!base
> ! || (GET_CODE (base) == ADDRESS
> ! && GET_MODE (base) == Pmode
> ! && XEXP (base, 0) == stack_pointer_rtx))
> ! return true;
Are we 100% certain that all such addresses can be so identified?
That is, at no point are such temporary registers reused (and thus
have no function invariant base)?
I'd rather we be conservatively correct and do
if (base
&& !(GET_CODE (base) == ADDRESS
&& GET_MODE (base) == Pmode
&& XEXP (base, 0) == stack_pointer_rtx))
return true;
r~
More information about the Gcc-patches
mailing list