LLVM: llvm::coro::BaseABI Class Reference (original) (raw)

#include "[llvm/Transforms/Coroutines/ABI.h](ABI%5F8h%5Fsource.html)"

Inheritance diagram for llvm::coro::BaseABI:

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

Detailed Description

Definition at line 41 of file ABI.h.

Constructor & Destructor Documentation

~BaseABI()

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

Member Function Documentation

buildCoroutineFrame()

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

Definition at line 2071 of file CoroFrame.cpp.

References llvm::coro::Async, buildFrameDebugInfo(), buildFrameType(), llvm::coro::collectSpillsAndAllocasFromInsts(), llvm::coro::collectSpillsFromArgs(), llvm::coro::collectSpillsFromDbgInfo(), llvm::coro::doRematerializations(), dumpAllocas(), dumpSpills(), F, I, insertSpills(), IsMaterializable, LLVM_DEBUG, lowerLocalAllocas(), llvm::coro::Retcon, llvm::coro::RetconOnce, Shape, sinkLifetimeStartMarkers(), and llvm::coro::sinkSpillUsesAfterCoroBegin().

Referenced by init().

init()

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

splitCoroutine()

Member Data Documentation

F

IsMaterializable

Shape


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