forked from OSchip/llvm-project
[DomPrinter] Add a way to programmatically dump a dot representation.
Differential Revision: https://reviews.llvm.org/D32145 llvm-svn: 301205
This commit is contained in:
parent
da949c1804
commit
ebd77645cc
|
@ -157,6 +157,10 @@ public:
|
|||
/// This should only be used for debugging as it aborts the program if the
|
||||
/// verification fails.
|
||||
void verifyDomTree() const;
|
||||
|
||||
// Pop up a GraphViz/gv window with the Dominator Tree rendered using `dot`.
|
||||
void viewGraph(const Twine &Name, const Twine &Title);
|
||||
void viewGraph();
|
||||
};
|
||||
|
||||
//===-------------------------------------
|
||||
|
|
|
@ -80,6 +80,22 @@ struct DOTGraphTraits<PostDominatorTree*>
|
|||
};
|
||||
}
|
||||
|
||||
void DominatorTree::viewGraph(const Twine &Name, const Twine &Title) {
|
||||
#ifndef NDEBUG
|
||||
ViewGraph(this, Name, false, Title);
|
||||
#else
|
||||
errs() << "DomTree dump not available, build with DEBUG\n";
|
||||
#endif // NDEBUG
|
||||
}
|
||||
|
||||
void DominatorTree::viewGraph() {
|
||||
#ifndef NDEBUG
|
||||
this->viewGraph("domtree", "Dominator Tree for function");
|
||||
#else
|
||||
errs() << "DomTree dump not available, build with DEBUG\n";
|
||||
#endif // NDEBUG
|
||||
}
|
||||
|
||||
namespace {
|
||||
struct DominatorTreeWrapperPassAnalysisGraphTraits {
|
||||
static DominatorTree *getGraph(DominatorTreeWrapperPass *DTWP) {
|
||||
|
|
Loading…
Reference in New Issue