forked from OSchip/llvm-project
Use find_first/find_next to iterate through all the set bits in a
BitVector, instead of manually testing each bit. llvm-svn: 59246
This commit is contained in:
parent
7d5389e4b3
commit
8fed4ce0b8
|
@ -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
|
||||
|
|
|
@ -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";
|
||||
|
|
Loading…
Reference in New Issue