LLVM: llvm::CoroSplitPass Struct Reference (original) (raw)

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

Inheritance diagram for llvm::CoroSplitPass:

Public Types
using BaseABITy
Public Member Functions
LLVM_ABI CoroSplitPass (bool OptimizeFrame=false)
LLVM_ABI CoroSplitPass (SmallVector< BaseABITy > GenCustomABIs, bool OptimizeFrame=false)
LLVM_ABI CoroSplitPass (std::function< bool(Instruction &)> MaterializableCallback, bool OptimizeFrame=false)
LLVM_ABI CoroSplitPass (std::function< bool(Instruction &)> MaterializableCallback, SmallVector< BaseABITy > GenCustomABIs, bool OptimizeFrame=false)
LLVM_ABI PreservedAnalyses run (LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM, LazyCallGraph &CG, CGSCCUpdateResult &UR)
Public Member Functions inherited from llvm::PassInfoMixin< CoroSplitPass >
void printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)

Detailed Description

Definition at line 31 of file CoroSplit.h.

Member Typedef Documentation

BaseABITy

Constructor & Destructor Documentation

CoroSplitPass::CoroSplitPass ( bool OptimizeFrame = false )

CoroSplitPass() [2/4]

CoroSplitPass::CoroSplitPass ( SmallVector< BaseABITy > GenCustomABIs,
bool OptimizeFrame = false )

CoroSplitPass() [3/4]

CoroSplitPass::CoroSplitPass ( std::function< bool(Instruction &)> MaterializableCallback,
bool OptimizeFrame = false )

CoroSplitPass() [4/4]

Member Function Documentation

isRequired()

bool llvm::CoroSplitPass::isRequired ( ) inlinestatic

run()

Definition at line 2212 of file CoroSplit.cpp.

References llvm::coro::Shape::ABI, addPrepareFunction(), llvm::PreservedAnalyses::all(), llvm::coro::Async, llvm::CallingConv::C, llvm::coro::Shape::CoroBegin, llvm::coro::Shape::CoroSuspends, CreateAndInitABI, llvm::CGSCCUpdateResult::CWorklist, llvm::dbgs(), DEBUG_TYPE, doSplitCoroutine(), llvm::SmallVectorTemplateCommon< T, typename >::empty(), F, FAM, llvm::coro::Shape::FrameAlign, llvm::coro::Shape::FrameSize, llvm::LazyCallGraph::get(), llvm::AnalysisManager< IRUnitT, ExtraArgTs >::getResult(), LLVM_DEBUG, llvm::LazyCallGraph::lookupSCC(), N, llvm::PreservedAnalyses::none(), OptimizeFrame, llvm::SmallVectorTemplateBase< T, bool >::push_back(), llvm::removeUnreachableBlocks(), replaceAllPrepares(), updateCallGraphAfterCoroutineSplit(), and llvm::Align::value().

Member Data Documentation

CreateAndInitABI

BaseABITy llvm::CoroSplitPass::CreateAndInitABI

OptimizeFrame

bool llvm::CoroSplitPass::OptimizeFrame


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