void SUnit::ComputeDepth() {
SmallVector<SUnit*, 8> WorkList;
WorkList.push_back(this);
- while (!WorkList.empty()) {
+ do {
SUnit *Cur = WorkList.back();
bool Done = true;
}
Cur->isDepthCurrent = true;
}
- }
+ } while (!WorkList.empty());
}
/// ComputeHeight - Calculate the maximal path from the node to the entry.
void SUnit::ComputeHeight() {
SmallVector<SUnit*, 8> WorkList;
WorkList.push_back(this);
- while (!WorkList.empty()) {
+ do {
SUnit *Cur = WorkList.back();
bool Done = true;
}
Cur->isHeightCurrent = true;
}
- }
+ } while (!WorkList.empty());
}
/// SUnit - Scheduling unit. It's an wrapper around either a single SDNode or
WorkList.reserve(SUnits.size());
WorkList.push_back(SU);
- while (!WorkList.empty()) {
+ do {
SU = WorkList.back();
WorkList.pop_back();
Visited.set(SU->NodeNum);
WorkList.push_back(SU->Succs[I].getSUnit());
}
}
- }
+ } while (!WorkList.empty());
}
/// Shift - Renumber the nodes so that the topological ordering is