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:
- include/llvm/Transforms/Coroutines/CoroSplit.h
- lib/Transforms/Coroutines/CoroSplit.cpp