LLVM 20.0.0git
|
#include "llvm/Transforms/Coroutines/CoroSplit.h"
Public Types | |
using | BaseABITy = std::function< std::unique_ptr< coro::BaseABI >(Function &, coro::Shape &)> |
Public Member Functions | |
CoroSplitPass (bool OptimizeFrame=false) | |
CoroSplitPass (SmallVector< BaseABITy > GenCustomABIs, bool OptimizeFrame=false) | |
CoroSplitPass (std::function< bool(Instruction &)> MaterializableCallback, bool OptimizeFrame=false) | |
CoroSplitPass (std::function< bool(Instruction &)> MaterializableCallback, SmallVector< BaseABITy > GenCustomABIs, bool OptimizeFrame=false) | |
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) |
Static Public Member Functions | |
static bool | isRequired () |
Static Public Member Functions inherited from llvm::PassInfoMixin< CoroSplitPass > | |
static StringRef | name () |
Gets the name of the pass we are mixed into. | |
Public Attributes | |
BaseABITy | CreateAndInitABI |
bool | OptimizeFrame |
Definition at line 30 of file CoroSplit.h.
using llvm::CoroSplitPass::BaseABITy = std::function<std::unique_ptr<coro::BaseABI>(Function &, coro::Shape &)> |
Definition at line 31 of file CoroSplit.h.
CoroSplitPass::CoroSplitPass | ( | bool | OptimizeFrame = false | ) |
Definition at line 2128 of file CoroSplit.cpp.
References CreateNewABI(), F, and llvm::coro::isTriviallyMaterializable().
CoroSplitPass::CoroSplitPass | ( | SmallVector< BaseABITy > | GenCustomABIs, |
bool | OptimizeFrame = false |
||
) |
Definition at line 2137 of file CoroSplit.cpp.
References CreateNewABI(), F, and llvm::coro::isTriviallyMaterializable().
CoroSplitPass::CoroSplitPass | ( | std::function< bool(Instruction &)> | MaterializableCallback, |
bool | OptimizeFrame = false |
||
) |
Definition at line 2149 of file CoroSplit.cpp.
References CreateNewABI(), and F.
CoroSplitPass::CoroSplitPass | ( | std::function< bool(Instruction &)> | MaterializableCallback, |
SmallVector< BaseABITy > | GenCustomABIs, | ||
bool | OptimizeFrame = false |
||
) |
Definition at line 2161 of file CoroSplit.cpp.
References CreateNewABI(), and F.
|
inlinestatic |
Definition at line 49 of file CoroSplit.h.
PreservedAnalyses CoroSplitPass::run | ( | LazyCallGraph::SCC & | C, |
CGSCCAnalysisManager & | AM, | ||
LazyCallGraph & | CG, | ||
CGSCCUpdateResult & | UR | ||
) |
Definition at line 2172 of file CoroSplit.cpp.
References addPrepareFunction(), llvm::PreservedAnalyses::all(), llvm::CallingConv::C, llvm::coro::Shape::CoroBegin, llvm::coro::Shape::CoroSuspends, CreateAndInitABI, llvm::CGSCCUpdateResult::CWorklist, llvm::dbgs(), DEBUG_TYPE, doSplitCoroutine(), llvm::SmallVectorBase< Size_T >::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().
BaseABITy llvm::CoroSplitPass::CreateAndInitABI |
Definition at line 52 of file CoroSplit.h.
Referenced by run().
bool llvm::CoroSplitPass::OptimizeFrame |
Definition at line 55 of file CoroSplit.h.
Referenced by run().