Is it OK for rtx_addr_can_trap_p_1 to attempt to compute the frame layout? (was Re: [PATCH] Skip re-computing the mips frame info after reload completed)

Richard Biener
Mon Feb 1 13:10:00 GMT 2016

On Mon, Feb 1, 2016 at 1:51 PM, Bernd Schmidt <> wrote:
> On 02/01/2016 01:49 PM, Richard Biener wrote:
>> What prevents motion of those across a stack adjustment (thus a place
>> they are _not_ valid?)
> If the address is SP-based, dependencies on the address register. If you're
> thinking prologue stack adjustments, ports where this could be an issue emit
> suitable barrier insns.

Ok.  Just I remember we can't mark non-trapping memory references in general
as they might be non-trapping only conditional, aka if (p != NULL) *p = 1;

I suppose stack accesses are special enough where issues like that can't pop up?
I can think of

foo (int i)
 char *p = alloca(10);
 if (i < 10)
   p[i] = 1;

or stuff like that.  But I guess your proposal is to handle the simple
cases and leave the rest as always conservatively trapping.


> Bernd

More information about the Gcc-patches mailing list