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: