diff options
author | Jim Grosbach <grosbach@apple.com> | 2009-10-21 23:40:56 +0000 |
---|---|---|
committer | Jim Grosbach <grosbach@apple.com> | 2009-10-21 23:40:56 +0000 |
commit | f2e74df12eb9f6da2ed8f9f65ad4b224926d74f0 (patch) | |
tree | d6e5bc1fa157a3c6b9b26c68b3da73ae6e1db5b3 /llvm/lib/Target | |
parent | 8b051b82401722734a1efd60eca16e7a87a26d3a (diff) | |
download | bcm5719-llvm-f2e74df12eb9f6da2ed8f9f65ad4b224926d74f0.tar.gz bcm5719-llvm-f2e74df12eb9f6da2ed8f9f65ad4b224926d74f0.zip |
Missing piece of the ARM frame index post-scavenging conditionalization
llvm-svn: 84798
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r-- | llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp | 1 | ||||
-rw-r--r-- | llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp | 12 | ||||
-rw-r--r-- | llvm/lib/Target/ARM/Thumb1RegisterInfo.h | 3 |
3 files changed, 16 insertions, 0 deletions
diff --git a/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp b/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp index 0d0e70e4f18..00e75310b6f 100644 --- a/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp +++ b/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp @@ -944,6 +944,7 @@ bool ARMBaseRegisterInfo:: requiresRegisterScavenging(const MachineFunction &MF) const { return true; } + bool ARMBaseRegisterInfo:: requiresFrameIndexScavenging(const MachineFunction &MF) const { return ScavengeFrameIndexVals; diff --git a/llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp b/llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp index f548b055ca3..7e1fc572df6 100644 --- a/llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp +++ b/llvm/lib/Target/ARM/Thumb1RegisterInfo.cpp @@ -77,6 +77,18 @@ Thumb1RegisterInfo::getPhysicalRegisterRegClass(unsigned Reg, EVT VT) const { return TargetRegisterInfo::getPhysicalRegisterRegClass(Reg, VT); } +bool +Thumb1RegisterInfo::requiresRegisterScavenging(const MachineFunction &MF) const { + return true; +} + +bool +Thumb1RegisterInfo::requiresFrameIndexScavenging(const MachineFunction &MF) + const { + return true; +} + + bool Thumb1RegisterInfo::hasReservedCallFrame(MachineFunction &MF) const { const MachineFrameInfo *FFI = MF.getFrameInfo(); unsigned CFSize = FFI->getMaxCallFrameSize(); diff --git a/llvm/lib/Target/ARM/Thumb1RegisterInfo.h b/llvm/lib/Target/ARM/Thumb1RegisterInfo.h index 241f1cc7ea1..570a5bc8c2e 100644 --- a/llvm/lib/Target/ARM/Thumb1RegisterInfo.h +++ b/llvm/lib/Target/ARM/Thumb1RegisterInfo.h @@ -40,6 +40,9 @@ public: const TargetRegisterClass * getPhysicalRegisterRegClass(unsigned Reg, EVT VT = MVT::Other) const; + bool requiresRegisterScavenging(const MachineFunction &MF) const; + bool requiresFrameIndexScavenging(const MachineFunction &MF) const; + bool hasReservedCallFrame(MachineFunction &MF) const; void eliminateCallFramePseudoInstr(MachineFunction &MF, |