[LLVMdev] ARM instructions clobbering frame pointer
Jakob Stoklund Olesen
stoklund at 2pi.dk
Sun Jun 26 20:09:58 PDT 2011
On Jun 26, 2011, at 12:52 PM, Cameron Zwarich wrote:
> On 2011-06-26, at 8:44 AM, Jakob Stoklund Olesen wrote:
>
>> On Jun 25, 2011, at 11:39 PM, Cameron Zwarich wrote:
>>
>>> Someone hit a bug (not in bugs.llvm.org) caused by the non-Darwin call instructions not being marked as using the frame pointer. Is it safe to just add r11 / r7 as uses to the appropriate instructions like we do on Darwin? Does anyone care about the slight pessimization this would cause in the -fomit-frame-pointer case?
>>
>> That sounds very odd, the frame pointer should be reserved so it shouldn't matter who clobbers it.
>>
>> Are you calling a function that uses a frame pointer from a function that omits the frame pointer?
>
> I guess it's not actually a clobber of the FP. The various call instructions are not marked as users of the FP, so post-RA scheduling will move the prologue FP setup code after the function call.
I think maybe the PostRA scheduler should treat writes to reserved registers as having unmodeled side-effects.
/jakob
More information about the llvm-dev
mailing list