LLVM 20.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
llvm::CoroSplitPass Struct Reference

#include "llvm/Transforms/Coroutines/CoroSplit.h"

Inheritance diagram for llvm::CoroSplitPass:
Inheritance graph
[legend]

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
 

Detailed Description

Definition at line 30 of file CoroSplit.h.

Member Typedef Documentation

◆ BaseABITy

using llvm::CoroSplitPass::BaseABITy = std::function<std::unique_ptr<coro::BaseABI>(Function &, coro::Shape &)>

Definition at line 31 of file CoroSplit.h.

Constructor & Destructor Documentation

◆ CoroSplitPass() [1/4]

CoroSplitPass::CoroSplitPass ( bool  OptimizeFrame = false)

Definition at line 2128 of file CoroSplit.cpp.

References CreateNewABI(), F, and llvm::coro::isTriviallyMaterializable().

◆ CoroSplitPass() [2/4]

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

Definition at line 2137 of file CoroSplit.cpp.

References CreateNewABI(), F, and llvm::coro::isTriviallyMaterializable().

◆ CoroSplitPass() [3/4]

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

Definition at line 2149 of file CoroSplit.cpp.

References CreateNewABI(), and F.

◆ CoroSplitPass() [4/4]

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.

Member Function Documentation

◆ isRequired()

static bool llvm::CoroSplitPass::isRequired ( )
inlinestatic

Definition at line 49 of file CoroSplit.h.

◆ run()

PreservedAnalyses CoroSplitPass::run ( LazyCallGraph::SCC C,
CGSCCAnalysisManager AM,
LazyCallGraph CG,
CGSCCUpdateResult UR 
)

Member Data Documentation

◆ CreateAndInitABI

BaseABITy llvm::CoroSplitPass::CreateAndInitABI

Definition at line 52 of file CoroSplit.h.

Referenced by run().

◆ OptimizeFrame

bool llvm::CoroSplitPass::OptimizeFrame

Definition at line 55 of file CoroSplit.h.

Referenced by run().


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