diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2011-02-20 12:57:14 +0000 | 
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2011-02-20 12:57:14 +0000 | 
| commit | cf099d11218cb6f6c5cce947d6738e347f07fb12 (patch) | |
| tree | d2b61ce94e654cb01a254d2195259db5f9cc3f3c /lib/Analysis/DomPrinter.cpp | |
| parent | 49011b52fcba02a6051957b84705159f52fae4e4 (diff) | |
Notes
Diffstat (limited to 'lib/Analysis/DomPrinter.cpp')
| -rw-r--r-- | lib/Analysis/DomPrinter.cpp | 50 | 
1 files changed, 32 insertions, 18 deletions
diff --git a/lib/Analysis/DomPrinter.cpp b/lib/Analysis/DomPrinter.cpp index 9f340942f2cc..cde431459d50 100644 --- a/lib/Analysis/DomPrinter.cpp +++ b/lib/Analysis/DomPrinter.cpp @@ -19,8 +19,6 @@  //===----------------------------------------------------------------------===//  #include "llvm/Analysis/DomPrinter.h" - -#include "llvm/Analysis/Dominators.h"  #include "llvm/Analysis/DOTGraphTraitsPass.h"  #include "llvm/Analysis/PostDominators.h" @@ -86,74 +84,90 @@ namespace {  struct DomViewer    : public DOTGraphTraitsViewer<DominatorTree, false> {    static char ID; -  DomViewer() : DOTGraphTraitsViewer<DominatorTree, false>("dom", ID){} +  DomViewer() : DOTGraphTraitsViewer<DominatorTree, false>("dom", ID){ +    initializeDomViewerPass(*PassRegistry::getPassRegistry()); +  }  };  struct DomOnlyViewer    : public DOTGraphTraitsViewer<DominatorTree, true> {    static char ID; -  DomOnlyViewer() : DOTGraphTraitsViewer<DominatorTree, true>("domonly", ID){} +  DomOnlyViewer() : DOTGraphTraitsViewer<DominatorTree, true>("domonly", ID){ +    initializeDomOnlyViewerPass(*PassRegistry::getPassRegistry()); +  }  };  struct PostDomViewer    : public DOTGraphTraitsViewer<PostDominatorTree, false> {    static char ID;    PostDomViewer() : -    DOTGraphTraitsViewer<PostDominatorTree, false>("postdom", ID){} +    DOTGraphTraitsViewer<PostDominatorTree, false>("postdom", ID){ +      initializePostDomViewerPass(*PassRegistry::getPassRegistry()); +    }  };  struct PostDomOnlyViewer    : public DOTGraphTraitsViewer<PostDominatorTree, true> {    static char ID;    PostDomOnlyViewer() : -    DOTGraphTraitsViewer<PostDominatorTree, true>("postdomonly", ID){} +    DOTGraphTraitsViewer<PostDominatorTree, true>("postdomonly", ID){ +      initializePostDomOnlyViewerPass(*PassRegistry::getPassRegistry()); +    }  };  } // end anonymous namespace  char DomViewer::ID = 0;  INITIALIZE_PASS(DomViewer, "view-dom", -                "View dominance tree of function", false, false); +                "View dominance tree of function", false, false)  char DomOnlyViewer::ID = 0;  INITIALIZE_PASS(DomOnlyViewer, "view-dom-only",                  "View dominance tree of function (with no function bodies)", -                false, false); +                false, false)  char PostDomViewer::ID = 0;  INITIALIZE_PASS(PostDomViewer, "view-postdom", -                "View postdominance tree of function", false, false); +                "View postdominance tree of function", false, false)  char PostDomOnlyViewer::ID = 0;  INITIALIZE_PASS(PostDomOnlyViewer, "view-postdom-only",                  "View postdominance tree of function "                  "(with no function bodies)", -                false, false); +                false, false)  namespace {  struct DomPrinter    : public DOTGraphTraitsPrinter<DominatorTree, false> {    static char ID; -  DomPrinter() : DOTGraphTraitsPrinter<DominatorTree, false>("dom", ID) {} +  DomPrinter() : DOTGraphTraitsPrinter<DominatorTree, false>("dom", ID) { +    initializeDomPrinterPass(*PassRegistry::getPassRegistry()); +  }  };  struct DomOnlyPrinter    : public DOTGraphTraitsPrinter<DominatorTree, true> {    static char ID; -  DomOnlyPrinter() : DOTGraphTraitsPrinter<DominatorTree, true>("domonly", ID) {} +  DomOnlyPrinter() : DOTGraphTraitsPrinter<DominatorTree, true>("domonly", ID) { +    initializeDomOnlyPrinterPass(*PassRegistry::getPassRegistry()); +  }  };  struct PostDomPrinter    : public DOTGraphTraitsPrinter<PostDominatorTree, false> {    static char ID;    PostDomPrinter() : -    DOTGraphTraitsPrinter<PostDominatorTree, false>("postdom", ID) {} +    DOTGraphTraitsPrinter<PostDominatorTree, false>("postdom", ID) { +      initializePostDomPrinterPass(*PassRegistry::getPassRegistry()); +    }  };  struct PostDomOnlyPrinter    : public DOTGraphTraitsPrinter<PostDominatorTree, true> {    static char ID;    PostDomOnlyPrinter() : -    DOTGraphTraitsPrinter<PostDominatorTree, true>("postdomonly", ID) {} +    DOTGraphTraitsPrinter<PostDominatorTree, true>("postdomonly", ID) { +      initializePostDomOnlyPrinterPass(*PassRegistry::getPassRegistry()); +    }  };  } // end anonymous namespace @@ -162,24 +176,24 @@ struct PostDomOnlyPrinter  char DomPrinter::ID = 0;  INITIALIZE_PASS(DomPrinter, "dot-dom",                  "Print dominance tree of function to 'dot' file", -                false, false); +                false, false)  char DomOnlyPrinter::ID = 0;  INITIALIZE_PASS(DomOnlyPrinter, "dot-dom-only",                  "Print dominance tree of function to 'dot' file "                  "(with no function bodies)", -                false, false); +                false, false)  char PostDomPrinter::ID = 0;  INITIALIZE_PASS(PostDomPrinter, "dot-postdom",                  "Print postdominance tree of function to 'dot' file", -                false, false); +                false, false)  char PostDomOnlyPrinter::ID = 0;  INITIALIZE_PASS(PostDomOnlyPrinter, "dot-postdom-only",                  "Print postdominance tree of function to 'dot' file "                  "(with no function bodies)", -                false, false); +                false, false)  // Create methods available outside of this file, to use them  // "include/llvm/LinkAllPasses.h". Otherwise the pass would be deleted by  | 
