summaryrefslogtreecommitdiff
path: root/lib/Target/ARM/ARMBaseRegisterInfo.h
diff options
context:
space:
mode:
authorJim Grosbach <grosbach@apple.com>2010-08-17 18:13:53 +0000
committerJim Grosbach <grosbach@apple.com>2010-08-17 18:13:53 +0000
commit8708ead5a46f4ec8f2d5f832be23381924d72b8d (patch)
treea9f9736a4400e3a35eb4e7b59d8b47a2e14928c2 /lib/Target/ARM/ARMBaseRegisterInfo.h
parent3edb90492727f60683181672201fd811101ea0d7 (diff)
downloadllvm-8708ead5a46f4ec8f2d5f832be23381924d72b8d.tar.gz
llvm-8708ead5a46f4ec8f2d5f832be23381924d72b8d.tar.bz2
llvm-8708ead5a46f4ec8f2d5f832be23381924d72b8d.tar.xz
Add hook to examine an instruction referencing a frame index to determine
whether to allocate a virtual frame base register to resolve the frame index reference in it. Implement a simple version for ARM to aid debugging. In LocalStackSlotAllocation, scan the function for frame index references to local frame indices and ask the target whether to allocate virtual frame base registers for any it encounters. Purely infrastructural for debug output. Next step is to actually allocate base registers, then add intelligent re-use of them. rdar://8277890 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111262 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMBaseRegisterInfo.h')
-rw-r--r--lib/Target/ARM/ARMBaseRegisterInfo.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMBaseRegisterInfo.h b/lib/Target/ARM/ARMBaseRegisterInfo.h
index d644ecc1ab..f3ccfb4cc4 100644
--- a/lib/Target/ARM/ARMBaseRegisterInfo.h
+++ b/lib/Target/ARM/ARMBaseRegisterInfo.h
@@ -105,6 +105,7 @@ public:
bool canRealignStack(const MachineFunction &MF) const;
bool needsStackRealignment(const MachineFunction &MF) const;
+ bool needsFrameBaseReg(MachineInstr *MI, unsigned operand) const;
bool cannotEliminateFrame(const MachineFunction &MF) const;