LLVM 20.0.0git
Public Member Functions | List of all members
llvm::coro::AsyncABI Class Reference

#include "llvm/Transforms/Coroutines/ABI.h"

Inheritance diagram for llvm::coro::AsyncABI:
Inheritance graph
[legend]

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 init ()=0
 
virtual void buildCoroutineFrame (bool OptimizeFrame)
 
virtual void splitCoroutine (Function &F, coro::Shape &Shape, SmallVectorImpl< Function * > &Clones, TargetTransformInfo &TTI)=0
 

Additional Inherited Members

- Public Attributes inherited from llvm::coro::BaseABI
FunctionF
 
coro::ShapeShape
 
std::function< bool(Instruction &I)> IsMaterializable
 

Detailed Description

Definition at line 79 of file ABI.h.

Constructor & Destructor Documentation

◆ AsyncABI()

llvm::coro::AsyncABI::AsyncABI ( Function F,
coro::Shape S,
std::function< bool(Instruction &)>  IsMaterializable 
)
inline

Definition at line 81 of file ABI.h.

Member Function Documentation

◆ init()

void coro::AsyncABI::init ( )
overridevirtual

Implements llvm::coro::BaseABI.

Definition at line 396 of file Coroutines.cpp.

References llvm::coro::Shape::ABI, assert(), and llvm::coro::Async.

◆ splitCoroutine()

void coro::AsyncABI::splitCoroutine ( Function F,
coro::Shape Shape,
SmallVectorImpl< Function * > &  Clones,
TargetTransformInfo TTI 
)
overridevirtual

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