aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/ARM/ARMRegisterInfo.h
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2007-02-27 21:12:35 +0000
committerEvan Cheng <evan.cheng@apple.com>2007-02-27 21:12:35 +0000
commit5ef9226f30d0615558cdfc6a2b76c7a914a8e32f (patch)
tree3fd79e046d60be9cc0d00814c0c94a9c7b357fac /lib/Target/ARM/ARMRegisterInfo.h
parent3f6fd87473c3fc7d2e99a43b17140d70daa7148c (diff)
downloadexternal_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.h11
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,