diff options
author | Owen Anderson <resistor@mac.com> | 2008-01-27 22:00:00 +0000 |
---|---|---|
committer | Owen Anderson <resistor@mac.com> | 2008-01-27 22:00:00 +0000 |
commit | c66a4f912feaf186a93b113b31e29cb660be0fcc (patch) | |
tree | deb460ed7b1622fcdcbe99ca6472dd0cc479e36d /lib/CodeGen/RegAllocLocal.cpp | |
parent | 24387df2074e41da767b3ad1ba10d9fe413cacfe (diff) | |
download | external_llvm-c66a4f912feaf186a93b113b31e29cb660be0fcc.zip external_llvm-c66a4f912feaf186a93b113b31e29cb660be0fcc.tar.gz external_llvm-c66a4f912feaf186a93b113b31e29cb660be0fcc.tar.bz2 |
Reg alloc doesn't really need LiveVariables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@46420 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/RegAllocLocal.cpp')
-rw-r--r-- | lib/CodeGen/RegAllocLocal.cpp | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/lib/CodeGen/RegAllocLocal.cpp b/lib/CodeGen/RegAllocLocal.cpp index 4ed1849..bdf7877 100644 --- a/lib/CodeGen/RegAllocLocal.cpp +++ b/lib/CodeGen/RegAllocLocal.cpp @@ -19,7 +19,6 @@ #include "llvm/CodeGen/MachineInstr.h" #include "llvm/CodeGen/MachineFrameInfo.h" #include "llvm/CodeGen/MachineRegisterInfo.h" -#include "llvm/CodeGen/LiveVariables.h" #include "llvm/CodeGen/RegAllocRegistry.h" #include "llvm/Target/TargetInstrInfo.h" #include "llvm/Target/TargetMachine.h" @@ -51,7 +50,6 @@ namespace { MachineFunction *MF; const MRegisterInfo *MRI; const TargetInstrInfo *TII; - LiveVariables *LV; // StackSlotForVirtReg - Maps virtual regs to the frame index where these // values are spilled. @@ -148,7 +146,6 @@ namespace { } virtual void getAnalysisUsage(AnalysisUsage &AU) const { - AU.addRequired<LiveVariables>(); AU.addRequiredID(PHIEliminationID); AU.addRequiredID(TwoAddressInstructionPassID); MachineFunctionPass::getAnalysisUsage(AU); @@ -497,9 +494,8 @@ MachineInstr *RALocal::reloadVirtReg(MachineBasicBlock &MBB, MachineInstr *MI, Ops.push_back(OpNum); if (MachineInstr* FMI = TII->foldMemoryOperand(MI, Ops, FrameIndex)) { ++NumFolded; - // Since we changed the address of MI, make sure to update live variables - // to know that the new instruction has the properties of the old one. - LV->instructionChanged(MI, FMI); + // Update kill/dead flags. + FMI->copyKillDeadInfo(MI); return MBB.insert(MBB.erase(MI), FMI); } @@ -778,8 +774,6 @@ void RALocal::AllocateBasicBlock(MachineBasicBlock &MBB) { // Finally, if this is a noop copy instruction, zap it. unsigned SrcReg, DstReg; if (TII.isMoveInstr(*MI, SrcReg, DstReg) && SrcReg == DstReg) { - LV->removeVirtualRegistersKilled(MI); - LV->removeVirtualRegistersDead(MI); MBB.erase(MI); } } @@ -821,7 +815,6 @@ bool RALocal::runOnMachineFunction(MachineFunction &Fn) { TM = &Fn.getTarget(); MRI = TM->getRegisterInfo(); TII = TM->getInstrInfo(); - LV = &getAnalysis<LiveVariables>(); PhysRegsUsed.assign(MRI->getNumRegs(), -1); |