diff options
author | Zaara Syeda <syzaara@ca.ibm.com> | 2018-03-19 16:19:44 +0000 |
---|---|---|
committer | Zaara Syeda <syzaara@ca.ibm.com> | 2018-03-19 16:19:44 +0000 |
commit | 01f414baaade28c7e5e0f79a04e18e7fc6cc79f2 (patch) | |
tree | 4857f4a803ffeacc775d583d9429aeaab7cb7968 /llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp | |
parent | 826e833121d0f84a4ddf5f089e61bb8d3d79ef0e (diff) | |
download | bcm5719-llvm-01f414baaade28c7e5e0f79a04e18e7fc6cc79f2.tar.gz bcm5719-llvm-01f414baaade28c7e5e0f79a04e18e7fc6cc79f2.zip |
Revert [MachineLICM] This reverts commit rL327856
Failing build bots. Revert the commit now.
llvm-svn: 327864
Diffstat (limited to 'llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp')
-rw-r--r-- | llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp | 25 |
1 files changed, 4 insertions, 21 deletions
diff --git a/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp b/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp index bc9dfb1292c..a938bb98ce1 100644 --- a/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp +++ b/llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp @@ -65,12 +65,6 @@ static cl::opt<bool> EnableGPRToVecSpills("ppc-enable-gpr-to-vsr-spills", cl::Hidden, cl::init(false), cl::desc("Enable spills from gpr to vsr rather than stack")); -static cl::opt<bool> -StackPtrConst("ppc-stack-ptr-caller-preserved", - cl::desc("Consider R1 caller preserved so stack saves of " - "caller preserved registers can be LICM candidates"), - cl::init(true), cl::Hidden); - PPCRegisterInfo::PPCRegisterInfo(const PPCTargetMachine &TM) : PPCGenRegisterInfo(TM.isPPC64() ? PPC::LR8 : PPC::LR, TM.isPPC64() ? 0 : 1, @@ -310,26 +304,15 @@ BitVector PPCRegisterInfo::getReservedRegs(const MachineFunction &MF) const { bool PPCRegisterInfo::isCallerPreservedPhysReg(unsigned PhysReg, const MachineFunction &MF) const { assert(TargetRegisterInfo::isPhysicalRegister(PhysReg)); - const PPCSubtarget &Subtarget = MF.getSubtarget<PPCSubtarget>(); - const MachineFrameInfo &MFI = MF.getFrameInfo(); - if (!TM.isPPC64()) - return false; - - if (!Subtarget.isSVR4ABI()) - return false; - if (PhysReg == PPC::X2) + if (TM.isELFv2ABI() && PhysReg == PPC::X2) { // X2 is guaranteed to be preserved within a function if it is reserved. // The reason it's reserved is that it's the TOC pointer (and the function // uses the TOC). In functions where it isn't reserved (i.e. leaf functions // with no TOC access), we can't claim that it is preserved. return (getReservedRegs(MF).test(PPC::X2)); - if (StackPtrConst && (PhysReg == PPC::X1) && !MFI.hasVarSizedObjects() - && !MFI.hasOpaqueSPAdjustment()) - // The value of the stack pointer does not change within a function after - // the prologue and before the epilogue if there are no dynamic allocations - // and no inline asm which clobbers X1. - return true; - return false; + } else { + return false; + } } unsigned PPCRegisterInfo::getRegPressureLimit(const TargetRegisterClass *RC, |