Modified VNInfo. The "copy" member is now a union which holds the copy for a register interval, or the defining register for a stack interval. Access is via getCopy/setCopy and getReg/setReg.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78620 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Lang Hames
2009-08-10 23:43:28 +00:00
parent 00edf39b34
commit 52c1afcaea
7 changed files with 67 additions and 46 deletions
+2 -2
View File
@@ -790,7 +790,7 @@ void StrongPHIElimination::ScheduleCopies(MachineBasicBlock* MBB,
true);
LiveRange R = LI.addLiveRangeToEndOfBlock(I->first, I->second);
R.valno->copy = I->second;
R.valno->setCopy(I->second);
R.valno->def =
LiveIntervals::getDefIndex(LI.getInstructionIndex(I->second));
}
@@ -974,7 +974,7 @@ bool StrongPHIElimination::runOnMachineFunction(MachineFunction &Fn) {
LiveRange R = LI.addLiveRangeToEndOfBlock(I->first,
--SI->second->getFirstTerminator());
R.valno->copy = --SI->second->getFirstTerminator();
R.valno->setCopy(--SI->second->getFirstTerminator());
R.valno->def = LiveIntervals::getDefIndex(instrIdx);
DOUT << "Renaming failed: " << SI->first << " -> "