summaryrefslogtreecommitdiff
path: root/lib/Target/ARM/ARMBaseRegisterInfo.h
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2010-08-05 19:27:37 +0000
committerJim Grosbach <grosbach@apple.com>2010-08-05 19:27:37 +0000
commite3ede5e2e4de6d028956c0b75c6bfa17ec50cc09 (patch)
treeb8ecbda30d7ad8a353e31ad0267e8015a1bb935f /lib/Target/ARM/ARMBaseRegisterInfo.h
parent751aaf8ac586860df8f22c3707905d1a8005f1ba (diff)
downloadllvm-e3ede5e2e4de6d028956c0b75c6bfa17ec50cc09.tar.gz
llvm-e3ede5e2e4de6d028956c0b75c6bfa17ec50cc09.tar.bz2
llvm-e3ede5e2e4de6d028956c0b75c6bfa17ec50cc09.tar.xz
For local variables in functions with a frame pointer, use FP as a base
register for local access when it's closer to the stack slot being refererenced than the stack pointer. Make sure to take into account any argument frame SP adjustments that are in affect at the time. rdar://8256090 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110366 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMBaseRegisterInfo.h')
-rw-r--r--lib/Target/ARM/ARMBaseRegisterInfo.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMBaseRegisterInfo.h b/lib/Target/ARM/ARMBaseRegisterInfo.h
index eefbc12692..d644ecc1ab 100644
--- a/lib/Target/ARM/ARMBaseRegisterInfo.h
+++ b/lib/Target/ARM/ARMBaseRegisterInfo.h
@@ -116,6 +116,8 @@ public:
unsigned getFrameRegister(const MachineFunction &MF) const;
int getFrameIndexReference(const MachineFunction &MF, int FI,
unsigned &FrameReg) const;
+ int ResolveFrameIndexReference(const MachineFunction &MF, int FI,
+ unsigned &FrameReg, int SPAdj) const;
int getFrameIndexOffset(const MachineFunction &MF, int FI) const;
// Exception handling queries.