LLVM: llvm::coro::AnyRetconABI Class Reference (original) (raw)
#include "[llvm/Transforms/Coroutines/ABI.h](ABI%5F8h%5Fsource.html)"
Inheritance diagram for llvm::coro::AnyRetconABI:
| Public Member Functions | |
|---|---|
| AnyRetconABI (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 93 of file ABI.h.
Constructor & Destructor Documentation
Member Function Documentation
◆ init()
| void coro::AnyRetconABI::init ( ) | overridevirtual |
|---|
◆ splitCoroutine()
Implements llvm::coro::BaseABI.
Definition at line 1815 of file CoroSplit.cpp.
References llvm::PHINode::addIncoming(), assert(), llvm::cast(), llvm::coro::Continuation, llvm::BasicBlock::Create(), llvm::coro::BaseCloner::createClone(), createCloneDeclaration(), DL, llvm::SmallVectorTemplateCommon< T, typename >::empty(), llvm::enumerate(), llvm::coro::BaseABI::F, llvm::PoisonValue::get(), llvm::TrackingVH< ValueTy >::getValPtr(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::SmallVectorImpl< T >::reserve(), llvm::coro::Retcon, llvm::coro::RetconOnce, llvm::coro::BaseABI::Shape, Size, llvm::SmallVectorTemplateCommon< T, typename >::size(), and llvm::zip_equal().
The documentation for this class was generated from the following files:
- include/llvm/Transforms/Coroutines/ABI.h
- lib/Transforms/Coroutines/CoroSplit.cpp
- lib/Transforms/Coroutines/Coroutines.cpp