LLVM 22.0.0git
llvm::coro::BaseABI Class Referenceabstract

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

Inheritance diagram for llvm::coro::BaseABI:
[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 41 of file ABI.h.

Constructor & Destructor Documentation

◆ BaseABI()

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

◆ ~BaseABI()

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

Member Function Documentation

◆ buildCoroutineFrame()

◆ 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

◆ IsMaterializable

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

◆ Shape


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