webkit  2cdf99a9e3038c7e01b3c37e8ad903ecbe5eecf1
https://github.com/WebKit/webkit
Classes | Public Member Functions | List of all members
WTF::Dominators< Graph > Class Template Reference

#include <Dominators.h>

Public Member Functions

 Dominators (Graph &graph, bool selfCheck=false)
 
bool strictlyDominates (typename Graph::Node from, typename Graph::Node to) const
 
bool dominates (typename Graph::Node from, typename Graph::Node to) const
 
Graph::Node idom (typename Graph::Node block) const
 
template<typename Functor >
void forAllStrictDominatorsOf (typename Graph::Node to, const Functor &functor) const
 
template<typename Functor >
void forAllDominatorsOf (typename Graph::Node to, const Functor &functor) const
 
template<typename Functor >
void forAllBlocksStrictlyDominatedBy (typename Graph::Node from, const Functor &functor) const
 
template<typename Functor >
void forAllBlocksDominatedBy (typename Graph::Node from, const Functor &functor) const
 
Graph::Set strictDominatorsOf (typename Graph::Node to) const
 
Graph::Set dominatorsOf (typename Graph::Node to) const
 
Graph::Set blocksStrictlyDominatedBy (typename Graph::Node from) const
 
Graph::Set blocksDominatedBy (typename Graph::Node from) const
 
template<typename Functor >
void forAllBlocksInDominanceFrontierOf (typename Graph::Node from, const Functor &functor) const
 
Graph::Set dominanceFrontierOf (typename Graph::Node from) const
 
template<typename Functor >
void forAllBlocksInIteratedDominanceFrontierOf (const typename Graph::List &from, const Functor &functor)
 
template<typename Functor >
void forAllBlocksInPrunedIteratedDominanceFrontierOf (const typename Graph::List &from, const Functor &functor)
 
Graph::Set iteratedDominanceFrontierOf (const typename Graph::List &from) const
 
void dump (PrintStream &out) const
 
 Dominators (Graph &graph, bool selfCheck=false)
 
bool strictlyDominates (typename Graph::Node from, typename Graph::Node to) const
 
bool dominates (typename Graph::Node from, typename Graph::Node to) const
 
Graph::Node idom (typename Graph::Node block) const
 
template<typename Functor >
void forAllStrictDominatorsOf (typename Graph::Node to, const Functor &functor) const
 
template<typename Functor >
void forAllDominatorsOf (typename Graph::Node to, const Functor &functor) const
 
template<typename Functor >
void forAllBlocksStrictlyDominatedBy (typename Graph::Node from, const Functor &functor) const
 
template<typename Functor >
void forAllBlocksDominatedBy (typename Graph::Node from, const Functor &functor) const
 
Graph::Set strictDominatorsOf (typename Graph::Node to) const
 
Graph::Set dominatorsOf (typename Graph::Node to) const
 
Graph::Set blocksStrictlyDominatedBy (typename Graph::Node from) const
 
Graph::Set blocksDominatedBy (typename Graph::Node from) const
 
template<typename Functor >
void forAllBlocksInDominanceFrontierOf (typename Graph::Node from, const Functor &functor) const
 
Graph::Set dominanceFrontierOf (typename Graph::Node from) const
 
template<typename Functor >
void forAllBlocksInIteratedDominanceFrontierOf (const typename Graph::List &from, const Functor &functor)
 
template<typename Functor >
void forAllBlocksInPrunedIteratedDominanceFrontierOf (const typename Graph::List &from, const Functor &functor)
 
Graph::Set iteratedDominanceFrontierOf (const typename Graph::List &from) const
 
void dump (PrintStream &out) const
 
 Dominators (Graph &graph, bool selfCheck=false)
 
bool strictlyDominates (typename Graph::Node from, typename Graph::Node to) const
 
bool dominates (typename Graph::Node from, typename Graph::Node to) const
 
Graph::Node idom (typename Graph::Node block) const
 
template<typename Functor >
void forAllStrictDominatorsOf (typename Graph::Node to, const Functor &functor) const
 
template<typename Functor >
void forAllDominatorsOf (typename Graph::Node to, const Functor &functor) const
 
template<typename Functor >
void forAllBlocksStrictlyDominatedBy (typename Graph::Node from, const Functor &functor) const
 
template<typename Functor >
void forAllBlocksDominatedBy (typename Graph::Node from, const Functor &functor) const
 
Graph::Set strictDominatorsOf (typename Graph::Node to) const
 
Graph::Set dominatorsOf (typename Graph::Node to) const
 
Graph::Set blocksStrictlyDominatedBy (typename Graph::Node from) const
 
Graph::Set blocksDominatedBy (typename Graph::Node from) const
 
template<typename Functor >
void forAllBlocksInDominanceFrontierOf (typename Graph::Node from, const Functor &functor) const
 
Graph::Set dominanceFrontierOf (typename Graph::Node from) const
 
template<typename Functor >
void forAllBlocksInIteratedDominanceFrontierOf (const typename Graph::List &from, const Functor &functor)
 
template<typename Functor >
void forAllBlocksInPrunedIteratedDominanceFrontierOf (const typename Graph::List &from, const Functor &functor)
 
Graph::Set iteratedDominanceFrontierOf (const typename Graph::List &from) const
 
void dump (PrintStream &out) const
 

Constructor & Destructor Documentation

◆ Dominators() [1/3]

template<typename Graph >
WTF::Dominators< Graph >::Dominators ( Graph &  graph,
bool  selfCheck = false 
)
inline

◆ Dominators() [2/3]

template<typename Graph >
WTF::Dominators< Graph >::Dominators ( Graph &  graph,
bool  selfCheck = false 
)
inline

◆ Dominators() [3/3]

template<typename Graph >
WTF::Dominators< Graph >::Dominators ( Graph &  graph,
bool  selfCheck = false 
)
inline

Member Function Documentation

◆ blocksDominatedBy() [1/3]

template<typename Graph >
Graph::Set WTF::Dominators< Graph >::blocksDominatedBy ( typename Graph::Node  from) const
inline

◆ blocksDominatedBy() [2/3]

template<typename Graph >
Graph::Set WTF::Dominators< Graph >::blocksDominatedBy ( typename Graph::Node  from) const
inline

◆ blocksDominatedBy() [3/3]

template<typename Graph >
Graph::Set WTF::Dominators< Graph >::blocksDominatedBy ( typename Graph::Node  from) const
inline

◆ blocksStrictlyDominatedBy() [1/3]

template<typename Graph >
Graph::Set WTF::Dominators< Graph >::blocksStrictlyDominatedBy ( typename Graph::Node  from) const
inline

◆ blocksStrictlyDominatedBy() [2/3]

template<typename Graph >
Graph::Set WTF::Dominators< Graph >::blocksStrictlyDominatedBy ( typename Graph::Node  from) const
inline

◆ blocksStrictlyDominatedBy() [3/3]

template<typename Graph >
Graph::Set WTF::Dominators< Graph >::blocksStrictlyDominatedBy ( typename Graph::Node  from) const
inline

◆ dominanceFrontierOf() [1/3]

template<typename Graph >
Graph::Set WTF::Dominators< Graph >::dominanceFrontierOf ( typename Graph::Node  from) const
inline

◆ dominanceFrontierOf() [2/3]

template<typename Graph >
Graph::Set WTF::Dominators< Graph >::dominanceFrontierOf ( typename Graph::Node  from) const
inline

◆ dominanceFrontierOf() [3/3]

template<typename Graph >
Graph::Set WTF::Dominators< Graph >::dominanceFrontierOf ( typename Graph::Node  from) const
inline

◆ dominates() [1/3]

template<typename Graph >
bool WTF::Dominators< Graph >::dominates ( typename Graph::Node  from,
typename Graph::Node  to 
) const
inline

◆ dominates() [2/3]

template<typename Graph >
bool WTF::Dominators< Graph >::dominates ( typename Graph::Node  from,
typename Graph::Node  to 
) const
inline

◆ dominates() [3/3]

template<typename Graph >
bool WTF::Dominators< Graph >::dominates ( typename Graph::Node  from,
typename Graph::Node  to 
) const
inline

◆ dominatorsOf() [1/3]

template<typename Graph >
Graph::Set WTF::Dominators< Graph >::dominatorsOf ( typename Graph::Node  to) const
inline

◆ dominatorsOf() [2/3]

template<typename Graph >
Graph::Set WTF::Dominators< Graph >::dominatorsOf ( typename Graph::Node  to) const
inline

◆ dominatorsOf() [3/3]

template<typename Graph >
Graph::Set WTF::Dominators< Graph >::dominatorsOf ( typename Graph::Node  to) const
inline

◆ dump() [1/3]

template<typename Graph >
void WTF::Dominators< Graph >::dump ( PrintStream out) const
inline

◆ dump() [2/3]

template<typename Graph >
void WTF::Dominators< Graph >::dump ( PrintStream out) const
inline

◆ dump() [3/3]

template<typename Graph >
void WTF::Dominators< Graph >::dump ( PrintStream out) const
inline

◆ forAllBlocksDominatedBy() [1/3]

template<typename Graph >
template<typename Functor >
void WTF::Dominators< Graph >::forAllBlocksDominatedBy ( typename Graph::Node  from,
const Functor &  functor 
) const
inline

◆ forAllBlocksDominatedBy() [2/3]

template<typename Graph >
template<typename Functor >
void WTF::Dominators< Graph >::forAllBlocksDominatedBy ( typename Graph::Node  from,
const Functor &  functor 
) const
inline

◆ forAllBlocksDominatedBy() [3/3]

template<typename Graph >
template<typename Functor >
void WTF::Dominators< Graph >::forAllBlocksDominatedBy ( typename Graph::Node  from,
const Functor &  functor 
) const
inline

◆ forAllBlocksInDominanceFrontierOf() [1/3]

template<typename Graph >
template<typename Functor >
void WTF::Dominators< Graph >::forAllBlocksInDominanceFrontierOf ( typename Graph::Node  from,
const Functor &  functor 
) const
inline

◆ forAllBlocksInDominanceFrontierOf() [2/3]

template<typename Graph >
template<typename Functor >
void WTF::Dominators< Graph >::forAllBlocksInDominanceFrontierOf ( typename Graph::Node  from,
const Functor &  functor 
) const
inline

◆ forAllBlocksInDominanceFrontierOf() [3/3]

template<typename Graph >
template<typename Functor >
void WTF::Dominators< Graph >::forAllBlocksInDominanceFrontierOf ( typename Graph::Node  from,
const Functor &  functor 
) const
inline

◆ forAllBlocksInIteratedDominanceFrontierOf() [1/3]

template<typename Graph >
template<typename Functor >
void WTF::Dominators< Graph >::forAllBlocksInIteratedDominanceFrontierOf ( const typename Graph::List &  from,
const Functor &  functor 
)
inline

◆ forAllBlocksInIteratedDominanceFrontierOf() [2/3]

template<typename Graph >
template<typename Functor >
void WTF::Dominators< Graph >::forAllBlocksInIteratedDominanceFrontierOf ( const typename Graph::List &  from,
const Functor &  functor 
)
inline

◆ forAllBlocksInIteratedDominanceFrontierOf() [3/3]

template<typename Graph >
template<typename Functor >
void WTF::Dominators< Graph >::forAllBlocksInIteratedDominanceFrontierOf ( const typename Graph::List &  from,
const Functor &  functor 
)
inline

◆ forAllBlocksInPrunedIteratedDominanceFrontierOf() [1/3]

template<typename Graph >
template<typename Functor >
void WTF::Dominators< Graph >::forAllBlocksInPrunedIteratedDominanceFrontierOf ( const typename Graph::List &  from,
const Functor &  functor 
)
inline

◆ forAllBlocksInPrunedIteratedDominanceFrontierOf() [2/3]

template<typename Graph >
template<typename Functor >
void WTF::Dominators< Graph >::forAllBlocksInPrunedIteratedDominanceFrontierOf ( const typename Graph::List &  from,
const Functor &  functor 
)
inline

◆ forAllBlocksInPrunedIteratedDominanceFrontierOf() [3/3]

template<typename Graph >
template<typename Functor >
void WTF::Dominators< Graph >::forAllBlocksInPrunedIteratedDominanceFrontierOf ( const typename Graph::List &  from,
const Functor &  functor 
)
inline

◆ forAllBlocksStrictlyDominatedBy() [1/3]

template<typename Graph >
template<typename Functor >
void WTF::Dominators< Graph >::forAllBlocksStrictlyDominatedBy ( typename Graph::Node  from,
const Functor &  functor 
) const
inline

◆ forAllBlocksStrictlyDominatedBy() [2/3]

template<typename Graph >
template<typename Functor >
void WTF::Dominators< Graph >::forAllBlocksStrictlyDominatedBy ( typename Graph::Node  from,
const Functor &  functor 
) const
inline

◆ forAllBlocksStrictlyDominatedBy() [3/3]

template<typename Graph >
template<typename Functor >
void WTF::Dominators< Graph >::forAllBlocksStrictlyDominatedBy ( typename Graph::Node  from,
const Functor &  functor 
) const
inline

◆ forAllDominatorsOf() [1/3]

template<typename Graph >
template<typename Functor >
void WTF::Dominators< Graph >::forAllDominatorsOf ( typename Graph::Node  to,
const Functor &  functor 
) const
inline

◆ forAllDominatorsOf() [2/3]

template<typename Graph >
template<typename Functor >
void WTF::Dominators< Graph >::forAllDominatorsOf ( typename Graph::Node  to,
const Functor &  functor 
) const
inline

◆ forAllDominatorsOf() [3/3]

template<typename Graph >
template<typename Functor >
void WTF::Dominators< Graph >::forAllDominatorsOf ( typename Graph::Node  to,
const Functor &  functor 
) const
inline

◆ forAllStrictDominatorsOf() [1/3]

template<typename Graph >
template<typename Functor >
void WTF::Dominators< Graph >::forAllStrictDominatorsOf ( typename Graph::Node  to,
const Functor &  functor 
) const
inline

◆ forAllStrictDominatorsOf() [2/3]

template<typename Graph >
template<typename Functor >
void WTF::Dominators< Graph >::forAllStrictDominatorsOf ( typename Graph::Node  to,
const Functor &  functor 
) const
inline

◆ forAllStrictDominatorsOf() [3/3]

template<typename Graph >
template<typename Functor >
void WTF::Dominators< Graph >::forAllStrictDominatorsOf ( typename Graph::Node  to,
const Functor &  functor 
) const
inline

◆ idom() [1/3]

template<typename Graph >
Graph::Node WTF::Dominators< Graph >::idom ( typename Graph::Node  block) const
inline

◆ idom() [2/3]

template<typename Graph >
Graph::Node WTF::Dominators< Graph >::idom ( typename Graph::Node  block) const
inline

◆ idom() [3/3]

template<typename Graph >
Graph::Node WTF::Dominators< Graph >::idom ( typename Graph::Node  block) const
inline

◆ iteratedDominanceFrontierOf() [1/3]

template<typename Graph >
Graph::Set WTF::Dominators< Graph >::iteratedDominanceFrontierOf ( const typename Graph::List &  from) const
inline

◆ iteratedDominanceFrontierOf() [2/3]

template<typename Graph >
Graph::Set WTF::Dominators< Graph >::iteratedDominanceFrontierOf ( const typename Graph::List &  from) const
inline

◆ iteratedDominanceFrontierOf() [3/3]

template<typename Graph >
Graph::Set WTF::Dominators< Graph >::iteratedDominanceFrontierOf ( const typename Graph::List &  from) const
inline

◆ strictDominatorsOf() [1/3]

template<typename Graph >
Graph::Set WTF::Dominators< Graph >::strictDominatorsOf ( typename Graph::Node  to) const
inline

◆ strictDominatorsOf() [2/3]

template<typename Graph >
Graph::Set WTF::Dominators< Graph >::strictDominatorsOf ( typename Graph::Node  to) const
inline

◆ strictDominatorsOf() [3/3]

template<typename Graph >
Graph::Set WTF::Dominators< Graph >::strictDominatorsOf ( typename Graph::Node  to) const
inline

◆ strictlyDominates() [1/3]

template<typename Graph >
bool WTF::Dominators< Graph >::strictlyDominates ( typename Graph::Node  from,
typename Graph::Node  to 
) const
inline

◆ strictlyDominates() [2/3]

template<typename Graph >
bool WTF::Dominators< Graph >::strictlyDominates ( typename Graph::Node  from,
typename Graph::Node  to 
) const
inline

◆ strictlyDominates() [3/3]

template<typename Graph >
bool WTF::Dominators< Graph >::strictlyDominates ( typename Graph::Node  from,
typename Graph::Node  to 
) const
inline

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