Assign indices to empty basic blocks. This will be necessary for StrongPHIElimination in the near future.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52300 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Owen Anderson 2008-06-16 06:18:41 +00:00
parent a413960a48
commit 8892b6f307

View File

@ -101,10 +101,13 @@ void LiveIntervals::computeNumbering() {
MIIndex += InstrSlots::NUM;
}
if (StartIdx == MIIndex) {
// Empty MBB
MIIndex += InstrSlots::NUM;
i2miMap_.push_back(0);
}
// Set the MBB2IdxMap entry for this MBB.
MBB2IdxMap[MBB->getNumber()] = (StartIdx == MIIndex)
? std::make_pair(StartIdx, StartIdx) // Empty MBB
: std::make_pair(StartIdx, MIIndex - 1);
MBB2IdxMap[MBB->getNumber()] = std::make_pair(StartIdx, MIIndex - 1);
Idx2MBBMap.push_back(std::make_pair(StartIdx, MBB));
}
std::sort(Idx2MBBMap.begin(), Idx2MBBMap.end(), Idx2MBBCompare());
@ -661,6 +664,8 @@ void LiveIntervals::computeIntervals() {
MIIndex += InstrSlots::NUM;
}
if (MBB->begin() == miEnd) MIIndex += InstrSlots::NUM; // Empty MBB
}
}