summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2008-01-29 02:32:13 +0000
committerOwen Anderson <resistor@mac.com>2008-01-29 02:32:13 +0000
commit5aa1615add8bc91e1fec7cc2ac7ab46589a5d4f2 (patch)
treedc1db2846ccb092aedd4345f50c5035c03acf931 /llvm/lib
parent167502a508f6f4e433f0e1af052ee7fbd585775c (diff)
downloadbcm5719-llvm-5aa1615add8bc91e1fec7cc2ac7ab46589a5d4f2.tar.gz
bcm5719-llvm-5aa1615add8bc91e1fec7cc2ac7ab46589a5d4f2.zip
RegAllocBigBlock doesn't need LiveVariables either.
llvm-svn: 46488
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/CodeGen/RegAllocBigBlock.cpp15
1 files changed, 2 insertions, 13 deletions
diff --git a/llvm/lib/CodeGen/RegAllocBigBlock.cpp b/llvm/lib/CodeGen/RegAllocBigBlock.cpp
index 64ae9f9592e..592650fca0a 100644
--- a/llvm/lib/CodeGen/RegAllocBigBlock.cpp
+++ b/llvm/lib/CodeGen/RegAllocBigBlock.cpp
@@ -97,10 +97,6 @@ namespace {
/// etc)
const MRegisterInfo *RegInfo;
- /// LV - Our generic LiveVariables pointer
- ///
- LiveVariables *LV;
-
typedef SmallVector<unsigned, 2> VRegTimes;
/// VRegReadTable - maps VRegs in a BB to the set of times they are read
@@ -182,7 +178,6 @@ namespace {
/// getAnalaysisUsage - declares the required analyses
///
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
- AU.addRequired<LiveVariables>();
AU.addRequiredID(PHIEliminationID);
AU.addRequiredID(TwoAddressInstructionPassID);
MachineFunctionPass::getAnalysisUsage(AU);
@@ -528,9 +523,7 @@ MachineInstr *RABigBlock::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);
+ FMI->copyKillDeadInfo(MI);
return MBB.insert(MBB.erase(MI), FMI);
}
@@ -832,11 +825,8 @@ void RABigBlock::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);
+ if (TII.isMoveInstr(*MI, SrcReg, DstReg) && SrcReg == DstReg)
MBB.erase(MI);
- }
}
MachineBasicBlock::iterator MI = MBB.getFirstTerminator();
@@ -857,7 +847,6 @@ bool RABigBlock::runOnMachineFunction(MachineFunction &Fn) {
MF = &Fn;
TM = &Fn.getTarget();
RegInfo = TM->getRegisterInfo();
- LV = &getAnalysis<LiveVariables>();
PhysRegsUsed.assign(RegInfo->getNumRegs(), -1);
OpenPOWER on IntegriCloud