LLVM 19.0.0git
Public Types | Public Member Functions | List of all members
llvm::IDFCalculator< IsPostDom > Class Template Referencefinal

#include "llvm/Analysis/IteratedDominanceFrontier.h"

Inheritance diagram for llvm::IDFCalculator< IsPostDom >:
Inheritance graph
[legend]

Public Types

using IDFCalculatorBase = typename llvm::IDFCalculatorBase< BasicBlock, IsPostDom >
 
using ChildrenGetterTy = typename IDFCalculatorBase::ChildrenGetterTy
 
- Public Types inherited from llvm::IDFCalculatorBase< BasicBlock, IsPostDom >
using OrderedNodeTy = std::conditional_t< IsPostDom, Inverse< BasicBlock * >, BasicBlock * >
 
using ChildrenGetterTy = IDFCalculatorDetail::ChildrenGetterTy< BasicBlock, IsPostDom >
 

Public Member Functions

 IDFCalculator (DominatorTreeBase< BasicBlock, IsPostDom > &DT)
 
 IDFCalculator (DominatorTreeBase< BasicBlock, IsPostDom > &DT, const GraphDiff< BasicBlock *, IsPostDom > *GD)
 
- Public Member Functions inherited from llvm::IDFCalculatorBase< BasicBlock, IsPostDom >
 IDFCalculatorBase (DominatorTreeBase< BasicBlock, IsPostDom > &DT)
 
 IDFCalculatorBase (DominatorTreeBase< BasicBlock, IsPostDom > &DT, const ChildrenGetterTy &C)
 
void setDefiningBlocks (const SmallPtrSetImpl< BasicBlock * > &Blocks)
 Give the IDF calculator the set of blocks in which the value is defined.
 
void setLiveInBlocks (const SmallPtrSetImpl< BasicBlock * > &Blocks)
 Give the IDF calculator the set of blocks in which the value is live on entry to the block.
 
void resetLiveInBlocks ()
 Reset the live-in block set to be empty, and tell the IDF calculator to not use liveness anymore.
 
void calculate (SmallVectorImpl< BasicBlock * > &IDFBlocks)
 Calculate iterated dominance frontiers.
 

Detailed Description

template<bool IsPostDom>
class llvm::IDFCalculator< IsPostDom >

Definition at line 39 of file IteratedDominanceFrontier.h.

Member Typedef Documentation

◆ ChildrenGetterTy

template<bool IsPostDom>
using llvm::IDFCalculator< IsPostDom >::ChildrenGetterTy = typename IDFCalculatorBase::ChildrenGetterTy

Definition at line 43 of file IteratedDominanceFrontier.h.

◆ IDFCalculatorBase

template<bool IsPostDom>
using llvm::IDFCalculator< IsPostDom >::IDFCalculatorBase = typename llvm::IDFCalculatorBase<BasicBlock, IsPostDom>

Definition at line 41 of file IteratedDominanceFrontier.h.

Constructor & Destructor Documentation

◆ IDFCalculator() [1/2]

template<bool IsPostDom>
llvm::IDFCalculator< IsPostDom >::IDFCalculator ( DominatorTreeBase< BasicBlock, IsPostDom > &  DT)
inline

Definition at line 45 of file IteratedDominanceFrontier.h.

◆ IDFCalculator() [2/2]

template<bool IsPostDom>
llvm::IDFCalculator< IsPostDom >::IDFCalculator ( DominatorTreeBase< BasicBlock, IsPostDom > &  DT,
const GraphDiff< BasicBlock *, IsPostDom > *  GD 
)
inline

Definition at line 48 of file IteratedDominanceFrontier.h.

References assert().


The documentation for this class was generated from the following file: