diff options
author | Jim Grosbach <grosbach@apple.com> | 2010-08-18 17:57:37 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2010-08-18 17:57:37 +0000 |
commit | 74d803a58c7935c067397bb19afc05ec464d8159 (patch) | |
tree | 5a5c144b511d1e15d1d757bd50c721de7c9a2c63 /include | |
parent | 18cde6df91a33d62a334002a7b608917c07791e8 (diff) | |
download | llvm-74d803a58c7935c067397bb19afc05ec464d8159.tar.gz llvm-74d803a58c7935c067397bb19afc05ec464d8159.tar.bz2 llvm-74d803a58c7935c067397bb19afc05ec464d8159.tar.xz |
Add hook for re-using virtual base registers for local stack slot access.
Nothing fancy, just ask the target if any currently available base reg
is in range for the instruction under consideration and use the first one
that is. Placeholder ARM implementation simply returns false for now.
ongoing saga of rdar://8277890
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111374 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/llvm/Target/TargetRegisterInfo.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/llvm/Target/TargetRegisterInfo.h b/include/llvm/Target/TargetRegisterInfo.h index b1cf3e9db4..e36cc4f9ce 100644 --- a/include/llvm/Target/TargetRegisterInfo.h +++ b/include/llvm/Target/TargetRegisterInfo.h @@ -659,6 +659,13 @@ public: assert(0 && "resolveFrameIndex does not exist on this target"); } + /// isBaseRegInRange - Determine whether a given base register definition + /// is in range to resolve a frame index. + virtual bool isBaseRegInRange(const MachineInstr *MI, unsigned Reg, + int64_t Offset) const { + assert(0 && "isBaseRegInRange does not exist on this target"); + return false; // Must return a value in order to compile with VS 2005 + } /// getCallFrameSetup/DestroyOpcode - These methods return the opcode of the /// frame setup/destroy instructions if they exist (-1 otherwise). Some |