LLVM 22.0.0git
llvm::CGSCCToFunctionPassAdaptor Class Reference

Adaptor that maps from a SCC to its functions. More...

#include "llvm/Analysis/CGSCCPassManager.h"

Inheritance diagram for llvm::CGSCCToFunctionPassAdaptor:
[legend]

Public Types

using PassConceptT = detail::PassConcept<Function, FunctionAnalysisManager>

Public Member Functions

 CGSCCToFunctionPassAdaptor (std::unique_ptr< PassConceptT > Pass, bool EagerlyInvalidate, bool NoRerun)
 CGSCCToFunctionPassAdaptor (CGSCCToFunctionPassAdaptor &&Arg)
CGSCCToFunctionPassAdaptoroperator= (CGSCCToFunctionPassAdaptor RHS)
LLVM_ABI PreservedAnalyses run (LazyCallGraph::SCC &C, CGSCCAnalysisManager &AM, LazyCallGraph &CG, CGSCCUpdateResult &UR)
 Runs the function pass across every function in the module.
void printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)
Public Member Functions inherited from llvm::PassInfoMixin< CGSCCToFunctionPassAdaptor >
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< CGSCCToFunctionPassAdaptor >
static StringRef name ()
 Gets the name of the pass we are mixed into.

Friends

void swap (CGSCCToFunctionPassAdaptor &LHS, CGSCCToFunctionPassAdaptor &RHS)

Detailed Description

Adaptor that maps from a SCC to its functions.

Designed to allow composition of a FunctionPass(Manager) and a CGSCCPassManager. Note that if this pass is constructed with a pointer to a CGSCCAnalysisManager it will run the FunctionAnalysisManagerCGSCCProxy analysis prior to running the function pass over the SCC to enable a FunctionAnalysisManager to be used within this run safely.

Definition at line 447 of file CGSCCPassManager.h.

Member Typedef Documentation

◆ PassConceptT

Constructor & Destructor Documentation

◆ CGSCCToFunctionPassAdaptor() [1/2]

llvm::CGSCCToFunctionPassAdaptor::CGSCCToFunctionPassAdaptor ( std::unique_ptr< PassConceptT > Pass,
bool EagerlyInvalidate,
bool NoRerun )
inlineexplicit

Definition at line 452 of file CGSCCPassManager.h.

References llvm::move().

Referenced by CGSCCToFunctionPassAdaptor(), operator=(), and swap.

◆ CGSCCToFunctionPassAdaptor() [2/2]

llvm::CGSCCToFunctionPassAdaptor::CGSCCToFunctionPassAdaptor ( CGSCCToFunctionPassAdaptor && Arg)
inline

Definition at line 457 of file CGSCCPassManager.h.

References CGSCCToFunctionPassAdaptor(), and llvm::move().

Member Function Documentation

◆ isRequired()

bool llvm::CGSCCToFunctionPassAdaptor::isRequired ( )
inlinestatic

Definition at line 494 of file CGSCCPassManager.h.

◆ operator=()

CGSCCToFunctionPassAdaptor & llvm::CGSCCToFunctionPassAdaptor::operator= ( CGSCCToFunctionPassAdaptor RHS)
inline

Definition at line 466 of file CGSCCPassManager.h.

References CGSCCToFunctionPassAdaptor(), RHS, and swap.

◆ printPipeline()

void llvm::CGSCCToFunctionPassAdaptor::printPipeline ( raw_ostream & OS,
function_ref< StringRef(StringRef)> MapClassName2PassName )
inline

Definition at line 476 of file CGSCCPassManager.h.

◆ run()

◆ swap

void swap ( CGSCCToFunctionPassAdaptor & LHS,
CGSCCToFunctionPassAdaptor & RHS )
friend

Definition at line 461 of file CGSCCPassManager.h.

References CGSCCToFunctionPassAdaptor(), LHS, RHS, and std::swap().

Referenced by operator=().


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