35 unsigned MBBNumber =
MBB->getNumber();
36 assert(MBBNumber < MBBInfos.size() &&
"Unexpected basic block number.");
37 MBBInfos[MBBNumber].PrimaryCompleted =
true;
38 MBBInfos[MBBNumber].PrimaryIncoming = MBBInfos[MBBNumber].IncomingProcessed;
41 while (!Workqueue.
empty()) {
43 bool Done = isBlockDone(ActiveMBB);
46 unsigned SuccNumber = Succ->getNumber();
47 assert(SuccNumber < MBBInfos.size() &&
48 "Unexpected basic block number.");
49 if (!isBlockDone(Succ)) {
51 MBBInfos[SuccNumber].IncomingProcessed++;
53 MBBInfos[SuccNumber].IncomingCompleted++;
54 if (isBlockDone(Succ))
66 if (!isBlockDone(
MBB))
74 return MBBTraversalOrder;
This file builds on the ADT/GraphTraits.h file to build a generic graph post order iterator.