LLVM 20.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::coro::BaseABI Class Referenceabstract

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

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

Public Member Functions

 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
 

Public Attributes

FunctionF
 
coro::ShapeShape
 
std::function< bool(Instruction &I)> IsMaterializable
 

Detailed Description

Definition at line 40 of file ABI.h.

Constructor & Destructor Documentation

◆ BaseABI()

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

Definition at line 42 of file ABI.h.

◆ ~BaseABI()

virtual llvm::coro::BaseABI::~BaseABI ( )
virtualdefault

Member Function Documentation

◆ buildCoroutineFrame()

void coro::BaseABI::buildCoroutineFrame ( bool  OptimizeFrame)
virtual

◆ init()

virtual void llvm::coro::BaseABI::init ( )
pure virtual

◆ splitCoroutine()

virtual void llvm::coro::BaseABI::splitCoroutine ( Function F,
coro::Shape Shape,
SmallVectorImpl< Function * > &  Clones,
TargetTransformInfo TTI 
)
pure virtual

Member Data Documentation

◆ F

Function& llvm::coro::BaseABI::F

Definition at line 58 of file ABI.h.

Referenced by buildCoroutineFrame().

◆ IsMaterializable

std::function<bool(Instruction &I)> llvm::coro::BaseABI::IsMaterializable

Definition at line 63 of file ABI.h.

Referenced by buildCoroutineFrame().

◆ Shape

coro::Shape& llvm::coro::BaseABI::Shape

Definition at line 59 of file ABI.h.


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