diff options
author | Evan Cheng <evan.cheng@apple.com> | 2011-04-22 01:42:52 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2011-04-22 01:42:52 +0000 |
commit | c0d2004e3c57775899b103e024e92d5b3f293105 (patch) | |
tree | 4d1b4e6e3621eda7650aaea317adb210a503e6e5 /llvm/lib/Target/ARM/ARMFrameLowering.h | |
parent | 8ea3af47bd0a2699cb7e4031fb20b528d9f1497b (diff) | |
download | bcm5719-llvm-c0d2004e3c57775899b103e024e92d5b3f293105.tar.gz bcm5719-llvm-c0d2004e3c57775899b103e024e92d5b3f293105.zip |
In Thumb2 mode, lower frame indix references to:
add <rd>, sp, #<imm8>
ldr <rd>, [sp, #<imm8>]
When the offset from sp is multiple of 4 and in range of 0-1020.
This saves code size by utilizing 16-bit instructions.
rdar://9321541
llvm-svn: 129971
Diffstat (limited to 'llvm/lib/Target/ARM/ARMFrameLowering.h')
-rw-r--r-- | llvm/lib/Target/ARM/ARMFrameLowering.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/Target/ARM/ARMFrameLowering.h b/llvm/lib/Target/ARM/ARMFrameLowering.h index a7b7f15449d..61bb8afa40f 100644 --- a/llvm/lib/Target/ARM/ARMFrameLowering.h +++ b/llvm/lib/Target/ARM/ARMFrameLowering.h @@ -51,7 +51,8 @@ public: bool canSimplifyCallFramePseudos(const MachineFunction &MF) const; int getFrameIndexReference(const MachineFunction &MF, int FI, unsigned &FrameReg) const; - int ResolveFrameIndexReference(const MachineFunction &MF, int FI, + int ResolveFrameIndexReference(const MachineFunction &MF, + int FI, unsigned &FrameReg, int SPAdj) const; int getFrameIndexOffset(const MachineFunction &MF, int FI) const; |