Use find_first/find_next to iterate through all the set bits in a

BitVector, instead of manually testing each bit.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59246 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Dan Gohman 2008-11-13 16:31:27 +00:00
parent 023422a6eb
commit 4a829ecc54
2 changed files with 11 additions and 12 deletions

View File

@ -399,14 +399,13 @@ void LiveIntervals::handleVirtualRegisterDef(MachineBasicBlock *mbb,
// Iterate over all of the blocks that the variable is completely
// live in, adding [insrtIndex(begin), instrIndex(end)+4) to the
// live interval.
for (unsigned i = 0, e = vi.AliveBlocks.size(); i != e; ++i) {
if (vi.AliveBlocks[i]) {
LiveRange LR(getMBBStartIdx(i),
getMBBEndIdx(i)+1, // MBB ends at -1.
ValNo);
interval.addRange(LR);
DOUT << " +" << LR;
}
for (int i = vi.AliveBlocks.find_first(); i != -1;
i = vi.AliveBlocks.find_next(i)) {
LiveRange LR(getMBBStartIdx(i),
getMBBEndIdx(i)+1, // MBB ends at -1.
ValNo);
interval.addRange(LR);
DOUT << " +" << LR;
}
// Finally, this virtual register is live from the start of any killing

View File

@ -52,11 +52,11 @@ void LiveVariables::getAnalysisUsage(AnalysisUsage &AU) const {
void LiveVariables::VarInfo::dump() const {
cerr << " Alive in blocks: ";
for (unsigned i = 0, e = AliveBlocks.size(); i != e; ++i)
if (AliveBlocks[i]) cerr << i << ", ";
for (int i = AliveBlocks.find_first(); i != -1; i = AliveBlocks.find_next(i))
cerr << i << ", ";
cerr << " Used in blocks: ";
for (unsigned i = 0, e = UsedBlocks.size(); i != e; ++i)
if (UsedBlocks[i]) cerr << i << ", ";
for (int i = UsedBlocks.find_first(); i != -1; i = UsedBlocks.find_next(i))
cerr << i << ", ";
cerr << "\n Killed by:";
if (Kills.empty())
cerr << " No instructions.\n";