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)
Mon Feb 1 13:10:00 GMT 2016
On Mon, Feb 1, 2016 at 1:51 PM, Bernd Schmidt <email@example.com> 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.
More information about the Gcc-patches