My Project
Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
mlir::detail::DominanceInfoBase< IsPostDom > Class Template Reference

#include <Dominance.h>

Collaboration diagram for mlir::detail::DominanceInfoBase< IsPostDom >:
Collaboration graph
[legend]

Public Member Functions

 DominanceInfoBase (Operation *op)
 
 DominanceInfoBase (DominanceInfoBase &&)=default
 
DominanceInfoBaseoperator= (DominanceInfoBase &&)=default
 
 DominanceInfoBase (const DominanceInfoBase &)=delete
 
DominanceInfoBaseoperator= (const DominanceInfoBase &)=delete
 
void recalculate (Operation *op)
 Recalculate the dominance info. More...
 
DominanceInfoNodegetRootNode (Region *region)
 Get the root dominance node of the given region. More...
 

Protected Types

using super = DominanceInfoBase< IsPostDom >
 

Protected Member Functions

bool properlyDominates (Block *a, Block *b)
 Return true if the specified block A properly dominates block B. More...
 

Protected Attributes

DenseMap< Region *, std::unique_ptr< base > > dominanceInfos
 A mapping of regions to their base dominator tree. More...
 

Member Typedef Documentation

◆ super

template<bool IsPostDom>
using mlir::detail::DominanceInfoBase< IsPostDom >::super = DominanceInfoBase<IsPostDom>
protected

Constructor & Destructor Documentation

◆ DominanceInfoBase() [1/3]

template<bool IsPostDom>
mlir::detail::DominanceInfoBase< IsPostDom >::DominanceInfoBase ( Operation op)
inline

◆ DominanceInfoBase() [2/3]

template<bool IsPostDom>
mlir::detail::DominanceInfoBase< IsPostDom >::DominanceInfoBase ( DominanceInfoBase< IsPostDom > &&  )
default

◆ DominanceInfoBase() [3/3]

template<bool IsPostDom>
mlir::detail::DominanceInfoBase< IsPostDom >::DominanceInfoBase ( const DominanceInfoBase< IsPostDom > &  )
delete

Member Function Documentation

◆ getRootNode()

template<bool IsPostDom>
DominanceInfoNode* mlir::detail::DominanceInfoBase< IsPostDom >::getRootNode ( Region region)
inline

Get the root dominance node of the given region.

◆ operator=() [1/2]

template<bool IsPostDom>
DominanceInfoBase& mlir::detail::DominanceInfoBase< IsPostDom >::operator= ( DominanceInfoBase< IsPostDom > &&  )
default

◆ operator=() [2/2]

template<bool IsPostDom>
DominanceInfoBase& mlir::detail::DominanceInfoBase< IsPostDom >::operator= ( const DominanceInfoBase< IsPostDom > &  )
delete

◆ properlyDominates()

template<bool IsPostDom>
bool DominanceInfoBase::properlyDominates ( Block a,
Block b 
)
protected

Return true if the specified block A properly dominates block B.

◆ recalculate()

template<bool IsPostDom>
void DominanceInfoBase::recalculate ( Operation op)

Recalculate the dominance info.

Build the dominance for each of the operation regions.

Member Data Documentation

◆ dominanceInfos

template<bool IsPostDom>
DenseMap<Region *, std::unique_ptr<base> > mlir::detail::DominanceInfoBase< IsPostDom >::dominanceInfos
protected

A mapping of regions to their base dominator tree.


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