LLVM  16.0.0git
Classes | Namespaces | Typedefs | Functions | Variables
Dominators.h File Reference
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/DenseMapInfo.h"
#include "llvm/ADT/DepthFirstIterator.h"
#include "llvm/ADT/Hashing.h"
#include "llvm/ADT/PointerIntPair.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Twine.h"
#include "llvm/ADT/ilist_iterator.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/IR/CFG.h"
#include "llvm/IR/PassManager.h"
#include "llvm/IR/Use.h"
#include "llvm/Pass.h"
#include "llvm/Support/CFGDiff.h"
#include "llvm/Support/CFGUpdate.h"
#include "llvm/Support/GenericDomTree.h"
#include "llvm/Support/GenericDomTreeConstruction.h"
#include <algorithm>
#include <utility>
#include <vector>
Include dependency graph for Dominators.h:

Go to the source code of this file.

Classes

struct  llvm::GraphTraits< GraphType >
 
class  llvm::BasicBlockEdge
 
struct  llvm::DenseMapInfo< BasicBlockEdge >
 
class  llvm::DominatorTree
 Concrete subclass of DominatorTreeBase that is used to compute a normal dominator tree. More...
 
struct  llvm::DomTreeGraphTraitsBase< Node, ChildIterator >
 
struct  llvm::GraphTraits< DomTreeNode * >
 
struct  llvm::GraphTraits< const DomTreeNode * >
 
struct  llvm::GraphTraits< DominatorTree * >
 
class  llvm::DominatorTreeAnalysis
 Analysis pass which computes a DominatorTree. More...
 
class  llvm::DominatorTreePrinterPass
 Printer pass for the DominatorTree. More...
 
struct  llvm::DominatorTreeVerifierPass
 Verifier pass for the DominatorTree. More...
 
class  llvm::DominatorTreeWrapperPass
 Legacy analysis pass which computes a DominatorTree. More...
 

Namespaces

 llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
 llvm::DomTreeBuilder
 

Typedefs

using llvm::DomTreeBuilder::BBDomTree = DomTreeBase< BasicBlock >
 
using llvm::DomTreeBuilder::BBPostDomTree = PostDomTreeBase< BasicBlock >
 
using llvm::DomTreeBuilder::BBUpdates = ArrayRef< llvm::cfg::Update< BasicBlock * > >
 
using llvm::DomTreeBuilder::BBDomTreeGraphDiff = GraphDiff< BasicBlock *, false >
 
using llvm::DomTreeBuilder::BBPostDomTreeGraphDiff = GraphDiff< BasicBlock *, true >
 
using llvm::DomTreeNode = DomTreeNodeBase< BasicBlock >
 

Functions

template void llvm::DomTreeBuilder::Calculate< BBDomTree > (BBDomTree &DT)
 
template void llvm::DomTreeBuilder::CalculateWithUpdates< BBDomTree > (BBDomTree &DT, BBUpdates U)
 
template void llvm::DomTreeBuilder::Calculate< BBPostDomTree > (BBPostDomTree &DT)
 
template void llvm::DomTreeBuilder::InsertEdge< BBDomTree > (BBDomTree &DT, BasicBlock *From, BasicBlock *To)
 
template void llvm::DomTreeBuilder::InsertEdge< BBPostDomTree > (BBPostDomTree &DT, BasicBlock *From, BasicBlock *To)
 
template void llvm::DomTreeBuilder::DeleteEdge< BBDomTree > (BBDomTree &DT, BasicBlock *From, BasicBlock *To)
 
template void llvm::DomTreeBuilder::DeleteEdge< BBPostDomTree > (BBPostDomTree &DT, BasicBlock *From, BasicBlock *To)
 
template void llvm::DomTreeBuilder::ApplyUpdates< BBDomTree > (BBDomTree &DT, BBDomTreeGraphDiff &, BBDomTreeGraphDiff *)
 
template void llvm::DomTreeBuilder::ApplyUpdates< BBPostDomTree > (BBPostDomTree &DT, BBPostDomTreeGraphDiff &, BBPostDomTreeGraphDiff *)
 
template bool llvm::DomTreeBuilder::Verify< BBDomTree > (const BBDomTree &DT, BBDomTree::VerificationLevel VL)
 
template bool llvm::DomTreeBuilder::Verify< BBPostDomTree > (const BBPostDomTree &DT, BBPostDomTree::VerificationLevel VL)
 

Variables

bool llvm::VerifyDomInfo = false
 Enables verification of dominator trees. More...