[LLVMdev] problems defining the stack layout

Rafael EspĂ­ndola rafael.espindola at gmail.com
Tue Aug 15 16:29:28 PDT 2006


I am having some problems defining the stack layout on ARM. It should look like

Incoming vars
-----------------
Saved Link Register
-----------------
Local vars
-----------------

The problem is that the the first local variable is being assigned to
the same location as the link register. I tried to use the
OffsetOfLocalArea option, but do to alignment restrictions this
increased the stack size.

The offset of the local vars is set in calculateFrameObjectOffsets, so
I added the following hack to eliminateFrameIndex:

if (Offset < 0) //local variable
    Offset -= 4;

Is there a better way?

Thanks,
Rafael



More information about the llvm-dev mailing list