Missing piece of the ARM frame index post-scavenging conditionalization
authorJim Grosbach <grosbach@apple.com>
Wed, 21 Oct 2009 23:40:56 +0000 (23:40 +0000)
committerJim Grosbach <grosbach@apple.com>
Wed, 21 Oct 2009 23:40:56 +0000 (23:40 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84798 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMBaseRegisterInfo.cpp
lib/Target/ARM/Thumb1RegisterInfo.cpp
lib/Target/ARM/Thumb1RegisterInfo.h

index 0d0e70e4f1864bffcda661be67f29d578e2350d1..00e75310b6fbf732281c1828d4b8a99c46bcc3fb 100644 (file)
@@ -944,6 +944,7 @@ bool ARMBaseRegisterInfo::
 requiresRegisterScavenging(const MachineFunction &MF) const {
   return true;
 }
+
 bool ARMBaseRegisterInfo::
 requiresFrameIndexScavenging(const MachineFunction &MF) const {
   return ScavengeFrameIndexVals;
index f548b055ca3422576143c9ccbb08bc760e71302a..7e1fc572df612a100126866a389a8bfe04628ada 100644 (file)
@@ -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();
index 241f1cc7ea1c4f7ddf537b43f969d9b12a22ee00..570a5bc8c2ec1705bc8c6b5e0fee4500db496982 100644 (file)
@@ -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,