LLVM 24.0.0git
llvm::CycleInfo Class Reference

#include "llvm/IR/CycleInfo.h"

Inheritance diagram for llvm::CycleInfo:
[legend]

Additional Inherited Members

Public Types inherited from llvm::GenericCycleInfo< SSAContext >
using BlockT
using FunctionT
using const_toplevel_iterator
 Iteration over top-level cycles.
Public Member Functions inherited from llvm::GenericCycleInfo< SSAContext >
 GenericCycleInfo ()=default
GenericCycleInfooperator= (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 FunctionTgetFunction () const
const SSAContextgetSSAContext () const
auto cycles () const
 All cycles in forest preorder.
CycleRef getCycle (const BlockT *Block) const
 Find the innermost cycle containing Block.
BlockTgetHeader (CycleRef C) const
bool isReducible (CycleRef C) const
CycleRef getParentCycle (CycleRef C) const
unsigned getDepth (CycleRef C) const
size_t getNumBlocks (CycleRef C) const
ArrayRef< BlockT * > getEntries (CycleRef C) const
bool isEntry (CycleRef C, const BlockT *Block) const
void setSingleEntry (CycleRef C, BlockT *Block)
bool contains (CycleRef Outer, CycleRef Inner) const
 Returns true iff Outer contains Inner. O(1). Non-strict.
iterator_range< const_child_iterator > children (CycleRef C) const
Printable printEntries (CycleRef C, const SSAContext &Ctx) const
ArrayRef< BlockT * > getBlocks (CycleRef C) const
 Return the blocks of C, including those of nested cycles.
CycleRef getSmallestCommonCycle (CycleRef A, CycleRef B) const
 Find the innermost cycle containing both given cycles.
unsigned getCycleDepth (const BlockT *Block) const
 Return the depth of the innermost cycle containing Block, or 0 if it is not contained in any cycle.
CycleRef getTopLevelParentCycle (const BlockT *Block) const
void getExitBlocks (CycleRef C, SmallVectorImpl< BlockT * > &TmpStorage) const
 Return all of the successor blocks of C: the blocks outside of C which are branched to from within it.
void getExitingBlocks (CycleRef C, SmallVectorImpl< BlockT * > &TmpStorage) const
 Return all blocks of C that have a successor outside of C.
BlockTgetCyclePreheader (CycleRef C) const
 Return the preheader block for C.
BlockTgetCyclePredecessor (CycleRef C) const
 If C has exactly one entry with exactly one predecessor, return it, otherwise return nullptr.
void verifyCycle (CycleRef C) const
 Verify that C is actually a well-formed cycle in the CFG.
void verifyCycleNest (CycleRef C) const
 Verify the parent-child relations of C.
void addBlockToCycle (BlockT *Block, CycleRef C)
 Assumes that C is the innermost cycle containing Block.
void verify () const
 Verify that the entire cycle tree well-formed.
void print (raw_ostream &Out) const
 Print the cycle info.
void dump () const
const_toplevel_iterator toplevel_begin () const
const_toplevel_iterator toplevel_end () const
iterator_range< const_toplevel_iteratortoplevel_cycles () const

Detailed Description

Definition at line 24 of file CycleInfo.h.


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