Why does IRA force all pseudos live across a setjmp call to be spilled?

Jeff Law law@redhat.com
Mon Mar 5 02:12:00 GMT 2018


On 03/04/2018 01:57 AM, Richard Biener wrote:
> 
> I think posix says you have to mark such variables volatile. So I
> fully agree with your analysis of why setjmp isn't special for RA. It
> would be only making non-conforming code work by accident.
Note the code we're carrying around has its origins prior to the
introduction of volatile into the C standard.  It may be the case that
we can and should rethink all this behavior in a modern world where
setjmp/longjmp semantics are better refined and programmers are expected
to use volatile to indicate the behavior they want.

I'm not sure I'd want to do that during stage4 though.  Seems like a
gcc-9 kind of thing.

jeff



More information about the Gcc mailing list