1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-19 02:52:53 +02:00

Move dominator info printer into tool/opt/GraphPrinters.cpp

llvm-svn: 52907
This commit is contained in:
Devang Patel 2008-06-30 17:32:58 +00:00
parent 93d7b1b4fa
commit 5b8e75e2fe
2 changed files with 32 additions and 30 deletions

View File

@ -287,33 +287,3 @@ 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);

View File

@ -18,6 +18,7 @@
#include "llvm/Pass.h"
#include "llvm/Value.h"
#include "llvm/Analysis/CallGraph.h"
#include "llvm/Analysis/Dominators.h"
#include <iostream>
#include <fstream>
using namespace llvm;
@ -81,3 +82,34 @@ namespace {
RegisterPass<CallGraphPrinter> P2("print-callgraph",
"Print Call Graph to 'dot' file");
}
//===----------------------------------------------------------------------===//
// DomInfoPrinter Pass
//===----------------------------------------------------------------------===//
namespace {
class 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);
}