Print out immediate dominators in program order, not in random order based on the...
authorChris Lattner <sabre@nondot.org>
Sat, 19 Jun 2004 20:04:47 +0000 (20:04 +0000)
committerChris Lattner <sabre@nondot.org>
Sat, 19 Jun 2004 20:04:47 +0000 (20:04 +0000)
of BasicBlock objects

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14252 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/Dominators.cpp

index 0f68bb4d0250990dfcf806797e75a62644b080e2..76ad59b354460eb9eaf0f24f7c35ba8db4bd0e98 100644 (file)
@@ -211,15 +211,13 @@ bool ImmediateDominators::runOnFunction(Function &F) {
 }
 
 void ImmediateDominatorsBase::print(std::ostream &o) const {
-  for (const_iterator I = begin(), E = end(); I != E; ++I) {
+  Function *F = getRoots()[0]->getParent();
+  for (Function::iterator I = F->begin(), E = F->end(); I != E; ++I) {
     o << "  Immediate Dominator For Basic Block:";
-    if (I->first)
-      WriteAsOperand(o, I->first, false);
-    else
-      o << " <<exit node>>";
+    WriteAsOperand(o, I, false);
     o << " is:";
-    if (I->second)
-      WriteAsOperand(o, I->second, false);
+    if (BasicBlock *ID = get(I))
+      WriteAsOperand(o, ID, false);
     else
       o << " <<exit node>>";
     o << "\n";