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
@@ -447,7 +447,7 @@ PBQPRegAlloc::CoalesceMap PBQPRegAlloc::findCoalesces() {
vniItr != vniEnd; ++vniItr) {
// We want to make sure we skip the copy instruction itself.
if ((*vniItr)->copy == instr)
if ((*vniItr)->getCopy() == instr)
continue;
if (srcLI->liveAt((*vniItr)->def)) {
@@ -689,7 +689,7 @@ bool PBQPRegAlloc::mapPBQPToRegAlloc(const PBQP::Solution &solution) {
// Clear the existing allocation.
vrm->clearAllVirt();
// Iterate over the nodes mapping the PBQP solution to a register assignment.
for (unsigned node = 0; node < node2LI.size(); ++node) {
unsigned virtReg = node2LI[node]->reg,