[llvm-commits] [llvm] r52829 - /llvm/trunk/lib/VMCore/Dominators.cpp

Devang Patel dpatel at apple.com
Fri Jun 27 09:43:22 PDT 2008


Author: dpatel
Date: Fri Jun 27 11:43:21 2008
New Revision: 52829

URL: http://llvm.org/viewvc/llvm-project?rev=52829&view=rev
Log:
Add dominator info printer pass.

Modified:
    llvm/trunk/lib/VMCore/Dominators.cpp

Modified: llvm/trunk/lib/VMCore/Dominators.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/VMCore/Dominators.cpp?rev=52829&r1=52828&r2=52829&view=diff

==============================================================================
--- llvm/trunk/lib/VMCore/Dominators.cpp (original)
+++ llvm/trunk/lib/VMCore/Dominators.cpp Fri Jun 27 11:43:21 2008
@@ -286,3 +286,34 @@
 void DominanceFrontierBase::dump() {
   print (llvm::cerr);
 }
+
+//===----------------------------------------------------------------------===//
+//                            DomInfoPrinter Pass
+//===----------------------------------------------------------------------===//
+
+namespace {
+  class VISIBILITY_HIDDEN DomInfoPrinter : public FunctionPass {
+  public:
+    static char ID; // Pass identification, replacement for typeid
+    DomInfoPrinter() : FunctionPass((intptr_t)&ID) {}
+
+    virtual void getAnalysisUsage(AnalysisUsage &AU) const {
+      AU.setPreservesAll();
+      AU.addRequired<DominatorTree>();
+      AU.addRequired<DominanceFrontier>();
+
+    }
+
+    virtual bool runOnFunction(Function &F) {
+      DominatorTree &DT = getAnalysis<DominatorTree>();
+      DT.dump();
+      DominanceFrontier &DF = getAnalysis<DominanceFrontier>();
+      DF.dump();
+      return false;
+    }
+  };
+}
+
+char DomInfoPrinter::ID = 0;
+static RegisterPass<DomInfoPrinter>
+DIP("print-dom-info", "Dominator Info Printer", true, true);





More information about the llvm-commits mailing list