This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: IRA vs. frame pointer elimination [PR38952]


Dave Korn wrote:
> H.J. Lu wrote:
>> On Fri, Jan 23, 2009 at 5:29 PM, Dave Korn wrote:
>>>    Hi all,
>>>
>>> re: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38952
>>> [Regression/4.4,P1 blocker IMHO: total failure of SjLj EH on Cygwin+MinGW]
>>>
>>>  I have a simple testcase showing breakage in SjLj EH on Cygwin.  To cut
>>> right to the chase, the RTL generated by the 130r.eh pass to save %ebp (the
>>> frame pointer) into the jmp_buf struct embedded in the SjLj_Function_Context
>>> struct that is about to be registered looks like so:
>>>
>> An IRA setjmp bug was fixed recently:
>>
>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38587
>>
>> Does it fix your problem?
>
>   I'm not sure, but my source tree is at r.143552, which is just a couple of
> revs before your fix went in.  I will test it and report back; thanks for the
> hint.

  Unfortunately the patch for 38587 made no difference at all to the
generated code, including the incorrect initial frame pointer offset
calculation; my test case compiles identically.  This is not unsurprising to
me; there doesn't appear to be any stack slot sharing going on here.  Thanks
for trying to help, H.J.

  So, my main problem remains; I still don't know if what IRA is doing here
is permitted: eliminating the FP to a constant offset from the SP, before
reload.  I'll have to see what any of the IRA or RTL maintainers have to say.

    cheers,
      DaveK


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]