LLVM 22.0.0git
|
#include "llvm/Transforms/Coroutines/SuspendCrossingInfo.h"
Definition at line 68 of file SuspendCrossingInfo.h.
llvm::SuspendCrossingInfo::SuspendCrossingInfo | ( | Function & | F, |
const SmallVectorImpl< AnyCoroSuspendInst * > & | CoroSuspends, | ||
const SmallVectorImpl< AnyCoroEndInst * > & | CoroEnds ) |
Definition at line 156 of file SuspendCrossingInfo.cpp.
References assert(), B(), dump(), F, llvm::BasicBlock::getParent(), I, LLVM_DEBUG, and N.
LLVM_DUMP_METHOD void llvm::SuspendCrossingInfo::dump | ( | ) | const |
Definition at line 48 of file SuspendCrossingInfo.cpp.
References B(), llvm::dbgs(), dump(), llvm::dumpBasicBlockLabel(), F, llvm::ModuleSlotTracker::incorporateFunction(), and LLVM_DUMP_METHOD.
Referenced by dump(), and SuspendCrossingInfo().
LLVM_DUMP_METHOD void llvm::SuspendCrossingInfo::dump | ( | StringRef | Label, |
BitVector const & | BV, | ||
const ReversePostOrderTraversal< Function * > & | RPOT, | ||
ModuleSlotTracker & | MST ) const |
Definition at line 34 of file SuspendCrossingInfo.cpp.
References llvm::dbgs(), and llvm::dumpBasicBlockLabel().
bool llvm::SuspendCrossingInfo::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.
Definition at line 70 of file SuspendCrossingInfo.cpp.
References llvm::dbgs(), llvm::Value::getName(), and LLVM_DEBUG.
Referenced by isDefinitionAcrossSuspend().
bool llvm::SuspendCrossingInfo::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.
If From
is the same as To
this will also check if there is a looping path crossing a suspend point.
Definition at line 80 of file SuspendCrossingInfo.cpp.
References llvm::dbgs(), llvm::Value::getName(), and LLVM_DEBUG.
Definition at line 144 of file SuspendCrossingInfo.h.
References A(), and isDefinitionAcrossSuspend().
|
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().
|
inline |
Definition at line 148 of file SuspendCrossingInfo.h.
References assert(), I, llvm::isa(), and isDefinitionAcrossSuspend().
Definition at line 172 of file SuspendCrossingInfo.h.
References llvm::dyn_cast(), isDefinitionAcrossSuspend(), llvm_unreachable, and llvm::Value::users().
Definition at line 162 of file SuspendCrossingInfo.h.
References llvm::dyn_cast(), isDefinitionAcrossSuspend(), and llvm_unreachable.