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 | 41fff8c19ab6d8e28f5362481c184ad628f8c704 (patch) | |
tree | 9b626a6d386a1c226f9c5bf299fcbfe2d92d7094 | |
parent | ff233b858a8808915ba21f073691120c6d508bf8 (diff) | |
download | external_llvm-41fff8c19ab6d8e28f5362481c184ad628f8c704.zip external_llvm-41fff8c19ab6d8e28f5362481c184ad628f8c704.tar.gz external_llvm-41fff8c19ab6d8e28f5362481c184ad628f8c704.tar.bz2 |
Missing piece of the ARM frame index post-scavenging conditionalization
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84798 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/ARM/ARMBaseRegisterInfo.cpp | 1 | ||||
-rw-r--r-- | lib/Target/ARM/Thumb1RegisterInfo.cpp | 12 | ||||
-rw-r--r-- | lib/Target/ARM/Thumb1RegisterInfo.h | 3 |
3 files changed, 16 insertions, 0 deletions
diff --git a/lib/Target/ARM/ARMBaseRegisterInfo.cpp b/lib/Target/ARM/ARMBaseRegisterInfo.cpp index 0d0e70e..00e7531 100644 --- a/lib/Target/ARM/ARMBaseRegisterInfo.cpp +++ b/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/lib/Target/ARM/Thumb1RegisterInfo.cpp b/lib/Target/ARM/Thumb1RegisterInfo.cpp index f548b05..7e1fc57 100644 --- a/lib/Target/ARM/Thumb1RegisterInfo.cpp +++ b/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/lib/Target/ARM/Thumb1RegisterInfo.h b/lib/Target/ARM/Thumb1RegisterInfo.h index 241f1cc..570a5bc 100644 --- a/lib/Target/ARM/Thumb1RegisterInfo.h +++ b/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, |