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 | db6cbe1ff16d5f18bf2469fa53744e680944dc56 (patch) | |
tree | 35d46c3921e98b06cf1efaefe174c9ae53948a58 /lib/Target/ARM/ARMFrameLowering.h | |
parent | d8a16241229a6d3f761e2e9fd19cbe08e614f113 (diff) | |
download | llvm-db6cbe1ff16d5f18bf2469fa53744e680944dc56.tar.gz llvm-db6cbe1ff16d5f18bf2469fa53744e680944dc56.tar.bz2 llvm-db6cbe1ff16d5f18bf2469fa53744e680944dc56.tar.xz |
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129971 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMFrameLowering.h')
-rw-r--r-- | lib/Target/ARM/ARMFrameLowering.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Target/ARM/ARMFrameLowering.h b/lib/Target/ARM/ARMFrameLowering.h index a7b7f15449..61bb8afa40 100644 --- a/lib/Target/ARM/ARMFrameLowering.h +++ b/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; |