diff options
Diffstat (limited to 'llvm/lib/Analysis/PostDominators.cpp')
-rw-r--r-- | llvm/lib/Analysis/PostDominators.cpp | 34 |
1 files changed, 10 insertions, 24 deletions
diff --git a/llvm/lib/Analysis/PostDominators.cpp b/llvm/lib/Analysis/PostDominators.cpp index b515108..6d92909 100644 --- a/llvm/lib/Analysis/PostDominators.cpp +++ b/llvm/lib/Analysis/PostDominators.cpp @@ -16,7 +16,6 @@ #include "llvm/ADT/SetOperations.h" #include "llvm/IR/CFG.h" #include "llvm/IR/Instructions.h" -#include "llvm/IR/PassManager.h" #include "llvm/Support/Debug.h" #include "llvm/Support/GenericDomTreeConstruction.h" using namespace llvm; @@ -27,38 +26,25 @@ using namespace llvm; // PostDominatorTree Implementation //===----------------------------------------------------------------------===// -char PostDominatorTreeWrapperPass::ID = 0; -INITIALIZE_PASS(PostDominatorTreeWrapperPass, "postdomtree", +char PostDominatorTree::ID = 0; +INITIALIZE_PASS(PostDominatorTree, "postdomtree", "Post-Dominator Tree Construction", true, true) -bool PostDominatorTreeWrapperPass::runOnFunction(Function &F) { - DT.recalculate(F); +bool PostDominatorTree::runOnFunction(Function &F) { + DT->recalculate(F); return false; } -void PostDominatorTreeWrapperPass::print(raw_ostream &OS, const Module *) const { - DT.print(OS); +PostDominatorTree::~PostDominatorTree() { + delete DT; } -FunctionPass* llvm::createPostDomTree() { - return new PostDominatorTreeWrapperPass(); +void PostDominatorTree::print(raw_ostream &OS, const Module *) const { + DT->print(OS); } -char PostDominatorTreeAnalysis::PassID; -PostDominatorTree PostDominatorTreeAnalysis::run(Function &F) { - PostDominatorTree PDT; - PDT.recalculate(F); - return PDT; +FunctionPass* llvm::createPostDomTree() { + return new PostDominatorTree(); } -PostDominatorTreePrinterPass::PostDominatorTreePrinterPass(raw_ostream &OS) - : OS(OS) {} - -PreservedAnalyses -PostDominatorTreePrinterPass::run(Function &F, FunctionAnalysisManager *AM) { - OS << "PostDominatorTree for function: " << F.getName() << "\n"; - AM->getResult<PostDominatorTreeAnalysis>(F).print(OS); - - return PreservedAnalyses::all(); -} |