aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/Target/MRegisterInfo.h
diff options
context:
space:
mode:
authorJim Laskey <jlaskey@mac.com>2006-03-28 13:48:33 +0000
committerJim Laskey <jlaskey@mac.com>2006-03-28 13:48:33 +0000
commita99791886d5d4af2b900cd8cc1c9ed1677b6f0f4 (patch)
tree42256e08be1793925558e994c319a07bc1a6c46b /include/llvm/Target/MRegisterInfo.h
parentbf7637d59028a5d9911769810f537c499e23bb8e (diff)
downloadexternal_llvm-a99791886d5d4af2b900cd8cc1c9ed1677b6f0f4.zip
external_llvm-a99791886d5d4af2b900cd8cc1c9ed1677b6f0f4.tar.gz
external_llvm-a99791886d5d4af2b900cd8cc1c9ed1677b6f0f4.tar.bz2
Expose base register for DwarfWriter. Refactor code accordingly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27225 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Target/MRegisterInfo.h')
-rw-r--r--include/llvm/Target/MRegisterInfo.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/include/llvm/Target/MRegisterInfo.h b/include/llvm/Target/MRegisterInfo.h
index 21fc417..e69661b 100644
--- a/include/llvm/Target/MRegisterInfo.h
+++ b/include/llvm/Target/MRegisterInfo.h
@@ -343,10 +343,20 @@ public:
virtual void emitEpilogue(MachineFunction &MF,
MachineBasicBlock &MBB) const = 0;
+ //===--------------------------------------------------------------------===//
+ /// Debug information queries.
+
+ /// getFrameRegister - This method should return the register used as a base
+ /// for values allocated in the current stack frame. This value should be
+ /// returned as a dwarf register number (getDwarfRegNum.)
+ virtual unsigned getFrameRegister(MachineFunction &MF) const = 0;
+
/// getLocation - This method should return the actual location of a frame
/// variable given the frame index. The location is returned in ML.
+ /// Subclasses should override this method for special handling of frame
+ /// variables and call MRegisterInfo::getLocation for the default action.
virtual void getLocation(MachineFunction &MF, unsigned Index,
- MachineLocation &ML) const = 0;
+ MachineLocation &ML) const;
};
// This is useful when building DenseMaps keyed on virtual registers