LLVM: llvm::SuspendCrossingInfo Class Reference (original) (raw)

#include "[llvm/Transforms/Coroutines/SuspendCrossingInfo.h](SuspendCrossingInfo%5F8h%5Fsource.html)"

Public Member Functions
void dump () const
void dump (StringRef Label, BitVector const &BV, const ReversePostOrderTraversal< Function * > &RPOT, ModuleSlotTracker &MST) const
LLVM_ABI SuspendCrossingInfo (Function &F, const SmallVectorImpl< AnyCoroSuspendInst * > &CoroSuspends, const SmallVectorImpl< AnyCoroEndInst * > &CoroEnds)
LLVM_ABI bool hasPathCrossingSuspendPoint (BasicBlock *From, BasicBlock *To) const
Returns true if there is a path from From to To crossing a suspend point without crossing From a 2nd time.
LLVM_ABI bool hasPathOrLoopCrossingSuspendPoint (BasicBlock *From, BasicBlock *To) const
Returns true if there is a path from From to To crossing a suspend point without crossing From a 2nd time.
bool isDefinitionAcrossSuspend (BasicBlock *DefBB, User *U) const
bool isDefinitionAcrossSuspend (Argument &A, User *U) const
bool isDefinitionAcrossSuspend (Instruction &I, User *U) const
bool isDefinitionAcrossSuspend (Value &V, User *U) const
bool isDefinitionAcrossSuspend (Value &V) const

Definition at line 68 of file SuspendCrossingInfo.h.

dump() [1/2]

dump() [2/2]

hasPathCrossingSuspendPoint()

hasPathOrLoopCrossingSuspendPoint()

isDefinitionAcrossSuspend() [1/5]

bool llvm::SuspendCrossingInfo::isDefinitionAcrossSuspend ( Argument & A, User * U ) const inline

isDefinitionAcrossSuspend() [2/5]

bool llvm::SuspendCrossingInfo::isDefinitionAcrossSuspend ( BasicBlock * DefBB, User * U ) const inline

Definition at line 122 of file SuspendCrossingInfo.h.

References assert(), llvm::cast(), llvm::dyn_cast(), llvm::BasicBlock::getSinglePredecessor(), hasPathCrossingSuspendPoint(), I, and llvm::isa().

Referenced by llvm::coro::collectSpillsAndAllocasFromInsts(), llvm::coro::collectSpillsFromArgs(), llvm::coro::collectSpillsFromDbgInfo(), llvm::coro::doRematerializations(), isDefinitionAcrossSuspend(), isDefinitionAcrossSuspend(), isDefinitionAcrossSuspend(), isDefinitionAcrossSuspend(), and sinkLifetimeStartMarkers().

isDefinitionAcrossSuspend() [3/5]

isDefinitionAcrossSuspend() [4/5]

bool llvm::SuspendCrossingInfo::isDefinitionAcrossSuspend ( Value & V) const inline

isDefinitionAcrossSuspend() [5/5]

bool llvm::SuspendCrossingInfo::isDefinitionAcrossSuspend ( Value & V, User * U ) const inline

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