LLVM: llvm::coro::SwitchABI Class Reference (original) (raw)
#include "[llvm/Transforms/Coroutines/ABI.h](ABI%5F8h%5Fsource.html)"
Inheritance diagram for llvm::coro::SwitchABI:
[legend]
| Public Member Functions | |
|---|---|
| SwitchABI (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) |
| Additional Inherited Members | |
|---|---|
| Public Attributes inherited from llvm::coro::BaseABI | |
| Function & | F |
| coro::Shape & | Shape |
| std::function< bool(Instruction &I)> | IsMaterializable |
Detailed Description
Definition at line 67 of file ABI.h.
Constructor & Destructor Documentation
| llvm::coro::SwitchABI::SwitchABI ( Function & F, coro::Shape & S, std::function< bool(Instruction &)> IsMaterializable ) | inline |
|---|
Definition at line 69 of file ABI.h.
References llvm::coro::BaseABI::BaseABI(), llvm::coro::BaseABI::F, llvm::coro::BaseABI::IsMaterializable, and llvm::move().
Member Function Documentation
◆ init()
| void coro::SwitchABI::init ( ) | overridevirtual |
|---|
Implements llvm::coro::BaseABI.
Definition at line 375 of file Coroutines.cpp.
References assert(), createCoroSave(), llvm::dyn_cast(), llvm::report_fatal_error(), llvm::coro::BaseABI::Shape, and llvm::coro::Switch.
◆ splitCoroutine()
| void coro::SwitchABI::splitCoroutine ( Function & F, coro::Shape & Shape, SmallVectorImpl< Function * > & Clones, TargetTransformInfo & TTI ) | overridevirtual |
|---|
Implements llvm::coro::BaseABI.
Definition at line 1993 of file CoroSplit.cpp.
References llvm::coro::BaseABI::F, and llvm::coro::BaseABI::Shape.
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