LLVM: llvm::coro::AsyncABI Class Reference (original) (raw)

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

Inheritance diagram for llvm::coro::AsyncABI:

Public Member Functions
AsyncABI (Function &F, coro::Shape &S, std::function< bool(Instruction &)> IsMaterializable)
void init () override
void splitCoroutine (Function &F, coro::Shape &Shape, SmallVectorImpl< Function * > &Clones, TargetTransformInfo &TTI) override
Public Member Functions inherited from llvm::coro::BaseABI
BaseABI (Function &F, coro::Shape &S, std::function< bool(Instruction &)> IsMaterializable)
virtual ~BaseABI ()=default
virtual void buildCoroutineFrame (bool OptimizeFrame)

Detailed Description

Definition at line 80 of file ABI.h.

Constructor & Destructor Documentation

Member Function Documentation

init()

void coro::AsyncABI::init ( ) overridevirtual

splitCoroutine()

Implements llvm::coro::BaseABI.

Definition at line 1718 of file CoroSplit.cpp.

References llvm::ArrayRef(), assert(), llvm::coro::Async, llvm::cast(), llvm::coro::Continuation, llvm::BasicBlock::Create(), llvm::coro::BaseCloner::createClone(), createCloneDeclaration(), llvm::coro::createMustTailCall(), llvm::SmallVectorTemplateCommon< T, typename >::empty(), llvm::enumerate(), llvm::coro::BaseABI::F, FramePtr, llvm::Type::getInt8Ty(), llvm::PointerType::getUnqual(), llvm::TrackingVH< ValueTy >::getValPtr(), llvm::InlineFunction(), llvm::CoroSuspendAsyncInst::MustTailCallFuncArg, llvm::SmallVectorTemplateBase< T, bool >::push_back(), replaceAsyncResumeFunction(), llvm::SmallVectorImpl< T >::reserve(), llvm::coro::BaseABI::Shape, and llvm::SmallVectorTemplateCommon< T, typename >::size().


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