LLVM 22.0.0git
|
#include "llvm/Transforms/Coroutines/CoroSplit.h"
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) |
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 31 of file CoroSplit.h.
Definition at line 32 of file CoroSplit.h.
CoroSplitPass::CoroSplitPass | ( | bool | OptimizeFrame = false | ) |
Definition at line 2156 of file CoroSplit.cpp.
References CreateAndInitABI, CreateNewABI(), F, llvm::coro::isTriviallyMaterializable(), and OptimizeFrame.
CoroSplitPass::CoroSplitPass | ( | SmallVector< BaseABITy > | GenCustomABIs, |
bool | OptimizeFrame = false ) |
Definition at line 2165 of file CoroSplit.cpp.
References CreateAndInitABI, CreateNewABI(), F, llvm::coro::isTriviallyMaterializable(), and OptimizeFrame.
CoroSplitPass::CoroSplitPass | ( | std::function< bool(Instruction &)> | MaterializableCallback, |
bool | OptimizeFrame = false ) |
Definition at line 2177 of file CoroSplit.cpp.
References CreateAndInitABI, CreateNewABI(), F, and OptimizeFrame.
CoroSplitPass::CoroSplitPass | ( | std::function< bool(Instruction &)> | MaterializableCallback, |
SmallVector< BaseABITy > | GenCustomABIs, | ||
bool | OptimizeFrame = false ) |
Definition at line 2189 of file CoroSplit.cpp.
References CreateAndInitABI, CreateNewABI(), F, and OptimizeFrame.
|
inlinestatic |
Definition at line 53 of file CoroSplit.h.
PreservedAnalyses CoroSplitPass::run | ( | LazyCallGraph::SCC & | C, |
CGSCCAnalysisManager & | AM, | ||
LazyCallGraph & | CG, | ||
CGSCCUpdateResult & | UR ) |
Definition at line 2200 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().
BaseABITy llvm::CoroSplitPass::CreateAndInitABI |
Definition at line 56 of file CoroSplit.h.
Referenced by CoroSplitPass(), CoroSplitPass(), CoroSplitPass(), CoroSplitPass(), and run().
bool llvm::CoroSplitPass::OptimizeFrame |
Definition at line 59 of file CoroSplit.h.
Referenced by CoroSplitPass(), CoroSplitPass(), CoroSplitPass(), CoroSplitPass(), and run().