LLVM: llvm::GenericCycleInfo< ContextT > Class Template Reference (original) (raw)

Cycle information for a function. More...

#include "[llvm/ADT/GenericCycleInfo.h](GenericCycleInfo%5F8h%5Fsource.html)"

Public Types
using BlockT = typename ContextT::BlockT
using CycleT = GenericCycle
using FunctionT = typename ContextT::FunctionT
using const_toplevel_iterator_base
Iteration over top-level cycles.
Public Member Functions
GenericCycleInfo ()=default
GenericCycleInfo (GenericCycleInfo &&)=default
GenericCycleInfo & operator= (GenericCycleInfo &&)=default
void clear ()
Reset the object to its initial state.
void compute (FunctionT &F)
Compute the cycle info for a function.
void splitCriticalEdge (BlockT *Pred, BlockT *Succ, BlockT *New)
const FunctionT * getFunction () const
const ContextT & getSSAContext () const
CycleT * getCycle (const BlockT *Block) const
Find the innermost cycle containing a given block.
CycleT * getSmallestCommonCycle (CycleT *A, CycleT *B) const
Find the innermost cycle containing both given cycles.
CycleT * getSmallestCommonCycle (BlockT *A, BlockT *B) const
Find the innermost cycle containing both given blocks.
unsigned getCycleDepth (const BlockT *Block) const
get the depth for the cycle which containing a given block.
CycleT * getTopLevelParentCycle (BlockT *Block)
void addBlockToCycle (BlockT *Block, CycleT *Cycle)
Assumes that Cycle is the innermost cycle containing Block.
void verifyCycleNest (bool VerifyFull=false) const
Methods for debug and self-test.
void verify () const
Verify that the entire cycle tree well-formed.
void print (raw_ostream &Out) const
Print the cycle info.
void dump () const
Printable print (const CycleT *Cycle)
const_toplevel_iterator toplevel_begin () const
const_toplevel_iterator toplevel_end () const
iterator_range< const_toplevel_iterator > toplevel_cycles () const
Friends
template
class GenericCycle
template
class GenericCycleInfoCompute

template
class llvm::GenericCycleInfo< ContextT >

Cycle information for a function.

Definition at line 258 of file GenericCycleInfo.h.

BlockT

template

const_toplevel_iterator_base

template

CycleT

template

FunctionT

template

template

GenericCycleInfo() [2/2]

template

addBlockToCycle()

template

clear()

compute()

dump()

template

getCycle()

getCycleDepth()

get the depth for the cycle which containing a given block.

Returns

the depth for the innermost cycle containing Block or 0 if it is not contained in any cycle.

Definition at line 580 of file GenericCycleImpl.h.

References llvm::Block, and getCycle().

getFunction()

template

getSmallestCommonCycle() [1/2]

template

getSmallestCommonCycle() [2/2]

template

getSSAContext()

template

getTopLevelParentCycle()

operator=()

template

print() [1/2]

template

print() [2/2]

splitCriticalEdge()

toplevel_begin()

template

toplevel_cycles()

template

toplevel_end()

template

verify()

verifyCycleNest()

GenericCycle

template

template

GenericCycleInfoCompute

template

template


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