LLVM 20.0.0git
|
#include "llvm/Transforms/Coroutines/ABI.h"
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 | |
Function & | F |
coro::Shape & | Shape |
std::function< bool(Instruction &I)> | IsMaterializable |
|
inline |
|
virtualdefault |
|
virtual |
Definition at line 2063 of file CoroFrame.cpp.
References llvm::coro::Shape::ABI, llvm::coro::Async, buildFrameDebugInfo(), buildFrameType(), llvm::coro::collectSpillsAndAllocasFromInsts(), llvm::coro::collectSpillsFromArgs(), llvm::coro::collectSpillsFromDbgInfo(), llvm::coro::Shape::CoroBegin, llvm::coro::Shape::CoroEnds, llvm::coro::Shape::CoroSuspends, llvm::coro::doRematerializations(), dumpAllocas(), dumpSpills(), F, llvm::coro::Shape::FramePtr, llvm::coro::Shape::FrameTy, I, insertSpills(), IsMaterializable, LLVM_DEBUG, lowerLocalAllocas(), llvm::coro::Retcon, llvm::coro::RetconOnce, sinkLifetimeStartMarkers(), and llvm::coro::sinkSpillUsesAfterCoroBegin().
|
pure virtual |
Implemented in llvm::coro::SwitchABI, llvm::coro::AsyncABI, and llvm::coro::AnyRetconABI.
|
pure virtual |
Implemented in llvm::coro::SwitchABI, llvm::coro::AsyncABI, and llvm::coro::AnyRetconABI.
Function& llvm::coro::BaseABI::F |
Definition at line 58 of file ABI.h.
Referenced by buildCoroutineFrame().
std::function<bool(Instruction &I)> llvm::coro::BaseABI::IsMaterializable |
Definition at line 63 of file ABI.h.
Referenced by buildCoroutineFrame().
coro::Shape& llvm::coro::BaseABI::Shape |