Changes in directory llvm/include/llvm/Target:
MRegisterInfo.h updated: 1.73 -> 1.74 --- Log message: Foundation for call frame information. --- Diffs of the changes: (+20 -2) MRegisterInfo.h | 22 ++++++++++++++++++++-- 1 files changed, 20 insertions(+), 2 deletions(-) Index: llvm/include/llvm/Target/MRegisterInfo.h diff -u llvm/include/llvm/Target/MRegisterInfo.h:1.73 llvm/include/llvm/Target/MRegisterInfo.h:1.74 --- llvm/include/llvm/Target/MRegisterInfo.h:1.73 Tue Mar 28 07:48:33 2006 +++ llvm/include/llvm/Target/MRegisterInfo.h Fri Apr 7 11:34:45 2006 @@ -27,6 +27,7 @@ class MachineFunction; class MachineInstr; class MachineLocation; +class MachineMove; class TargetRegisterClass; /// TargetRegisterDesc - This record contains all of the information known about @@ -345,18 +346,35 @@ //===--------------------------------------------------------------------===// /// Debug information queries. + + /// getDwarfRegNum - Map a target register to an equivalent dwarf register + /// number. Returns -1 if there is no equivalent value. + virtual int getDwarfRegNum(unsigned RegNum) const = 0; /// 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.) + /// for values allocated in the current stack frame. virtual unsigned getFrameRegister(MachineFunction &MF) const = 0; + + /// getRARegister - This method should return the register where the return + /// address can be found. + virtual unsigned getRARegister() const = 0; + /// getStackDirection - This method should return the factor by which stacks + /// grow. The tyical value is -4 which is the grows negatively in 4 byte + /// increments. + virtual int getStackDirection() const; + /// 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; + + /// getInitialFrameState - Returns a list of machine moves that are assumed + /// on entry to all functions. Note that LabelID is ignored (assumed to be + /// the beginning of the function.) + virtual void getInitialFrameState(std::vector<MachineMove *> &Moves) const; }; // This is useful when building DenseMaps keyed on virtual registers _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits