|
LLVM
4.0.0
|
This file defines a set of templates that efficiently compute a dominator tree over a generic graph. More...
#include "llvm/ADT/DenseMap.h"#include "llvm/ADT/DepthFirstIterator.h"#include "llvm/ADT/GraphTraits.h"#include "llvm/ADT/STLExtras.h"#include "llvm/ADT/SmallPtrSet.h"#include "llvm/ADT/SmallVector.h"#include "llvm/Support/Compiler.h"#include "llvm/Support/raw_ostream.h"#include <algorithm>Go to the source code of this file.
Classes | |
| class | llvm::DominatorTreeBase< N > |
| Core dominator tree base class. More... | |
| struct | llvm::detail::DominatorTreeBaseTraits< GT > |
| class | llvm::DominatorBase< NodeT > |
| Base class that other, more interesting dominator analyses inherit from. More... | |
| class | llvm::DomTreeNodeBase< NodeT > |
| Base class for the actual dominator tree node. More... | |
| class | llvm::DominatorTreeBase< N > |
| Core dominator tree base class. More... | |
| struct | llvm::DominatorTreeBase< N >::InfoRec |
Namespaces | |
| llvm | |
| Compute iterated dominance frontiers using a linear time algorithm. | |
| llvm::detail | |
| Implementation details of the pass manager interfaces. | |
Typedefs | |
| template<typename GT > | |
| using | llvm::DominatorTreeBaseByGraphTraits = typename detail::DominatorTreeBaseTraits< GT >::type |
Functions | |
| template<class NodeT > | |
| raw_ostream & | llvm::operator<< (raw_ostream &o, const DomTreeNodeBase< NodeT > *Node) |
| template<class NodeT > | |
| void | llvm::PrintDomTree (const DomTreeNodeBase< NodeT > *N, raw_ostream &o, unsigned Lev) |
| template<class FuncT , class N > | |
| void | llvm::Calculate (DominatorTreeBaseByGraphTraits< GraphTraits< N >> &DT, FuncT &F) |
This file defines a set of templates that efficiently compute a dominator tree over a generic graph.
This is used typically in LLVM for fast dominance queries on the CFG, but is fully generic w.r.t. the underlying graph types.
Unlike ADT/* graph algorithms, generic dominator tree has more reuiqrement on the graph's NodeRef. The NodeRef should be a pointer and, depending on the implementation, e.g. NodeRef->getParent() return the parent node.
FIXME: Maybe GenericDomTree needs a TreeTraits, instead of GraphTraits.
Definition in file GenericDomTree.h.
1.8.6