Expire any active intervals left when register allocation is done.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10448 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Alkis Evlogimenos 2003-12-13 05:50:19 +00:00
parent f6e610c27d
commit 7d65a12fe6

View File

@ -269,6 +269,18 @@ bool RA::runOnMachineFunction(MachineFunction &fn) {
}
}
}
// expire any remaining active intervals
for (IntervalPtrs::iterator i = active_.begin(); i != active_.end(); ++i) {
unsigned reg = (*i)->reg;
DEBUG(std::cerr << "\t\tinterval " << **i << " expired\n");
if (reg < MRegisterInfo::FirstVirtualRegister) {
clearReservedPhysReg(reg);
}
else {
p2vMap_[v2pMap_[reg]] = 0;
}
// remove interval from active
}
DEBUG(std::cerr << "finished register allocation\n");
DEBUG(printVirt2PhysMap());