[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