diff options
author | Evan Cheng <evan.cheng@apple.com> | 2007-02-27 21:12:35 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2007-02-27 21:12:35 +0000 |
commit | 5ef9226f30d0615558cdfc6a2b76c7a914a8e32f (patch) | |
tree | 3fd79e046d60be9cc0d00814c0c94a9c7b357fac /lib/Target/ARM/ARMRegisterInfo.h | |
parent | 3f6fd87473c3fc7d2e99a43b17140d70daa7148c (diff) | |
download | external_llvm-5ef9226f30d0615558cdfc6a2b76c7a914a8e32f.zip external_llvm-5ef9226f30d0615558cdfc6a2b76c7a914a8e32f.tar.gz external_llvm-5ef9226f30d0615558cdfc6a2b76c7a914a8e32f.tar.bz2 |
Let MRegisterInfo now owns RegScavenger; eliminateFrameIndex must preserve register kill info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34692 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMRegisterInfo.h')
-rw-r--r-- | lib/Target/ARM/ARMRegisterInfo.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/Target/ARM/ARMRegisterInfo.h b/lib/Target/ARM/ARMRegisterInfo.h index 24ed296..edfc8b4 100644 --- a/lib/Target/ARM/ARMRegisterInfo.h +++ b/lib/Target/ARM/ARMRegisterInfo.h @@ -19,20 +19,27 @@ #include "ARMGenRegisterInfo.h.inc" namespace llvm { - class TargetInstrInfo; class ARMSubtarget; + class TargetInstrInfo; class Type; struct ARMRegisterInfo : public ARMGenRegisterInfo { const TargetInstrInfo &TII; const ARMSubtarget &STI; private: + /// RS - An instance of the register scavenger. + RegScavenger *RS; + /// FramePtr - ARM physical register used as frame ptr. unsigned FramePtr; public: ARMRegisterInfo(const TargetInstrInfo &tii, const ARMSubtarget &STI); + ~ARMRegisterInfo(); + + RegScavenger *getRegScavenger() const; + /// getRegisterNumbering - Given the enum value for some register, e.g. /// ARM::LR, return the number that it corresponds to (e.g. 14). static unsigned getRegisterNumbering(unsigned RegEnum); @@ -69,8 +76,6 @@ public: BitVector getReservedRegs(const MachineFunction &MF) const; - bool requiresRegisterScavenging() const; - bool hasFP(const MachineFunction &MF) const; void eliminateCallFramePseudoInstr(MachineFunction &MF, |