LLVM 17.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::PassInfoMixin< DerivedT > Struct Template Reference

A CRTP mix-in to automatically provide informational APIs needed for passes. More...

#include "llvm/IR/PassManager.h"

Inherited by llvm::AnalysisInfoMixin< PreservedCFGCheckerAnalysis >, llvm::AnalysisInfoMixin< AAManager >, llvm::AnalysisInfoMixin< AMDGPUAA >, llvm::AnalysisInfoMixin< AssumptionAnalysis >, llvm::AnalysisInfoMixin< BasicAA >, llvm::AnalysisInfoMixin< BlockFrequencyAnalysis >, llvm::AnalysisInfoMixin< BranchProbabilityAnalysis >, llvm::AnalysisInfoMixin< CallGraphAnalysis >, llvm::AnalysisInfoMixin< CycleAnalysis >, llvm::AnalysisInfoMixin< DDGAnalysis >, llvm::AnalysisInfoMixin< DXILResourceAnalysis >, llvm::AnalysisInfoMixin< DemandedBitsAnalysis >, llvm::AnalysisInfoMixin< DependenceAnalysis >, llvm::AnalysisInfoMixin< DivergenceAnalysis >, llvm::AnalysisInfoMixin< DominanceFrontierAnalysis >, llvm::AnalysisInfoMixin< DominatorTreeAnalysis >, llvm::AnalysisInfoMixin< FunctionAnalysisManagerCGSCCProxy >, llvm::AnalysisInfoMixin< FunctionPropertiesAnalysis >, llvm::AnalysisInfoMixin< GlobalsAA >, llvm::AnalysisInfoMixin< IRSimilarityAnalysis >, llvm::AnalysisInfoMixin< IVUsersAnalysis >, llvm::AnalysisInfoMixin< InlineAdvisorAnalysis >, llvm::AnalysisInfoMixin< InlineSizeEstimatorAnalysis >, llvm::AnalysisInfoMixin< InnerAnalysisManagerProxy< AnalysisManagerT, IRUnitT > >, llvm::AnalysisInfoMixin< LazyCallGraphAnalysis >, llvm::AnalysisInfoMixin< LazyValueAnalysis >, llvm::AnalysisInfoMixin< LoopAccessAnalysis >, llvm::AnalysisInfoMixin< LoopAnalysis >, llvm::AnalysisInfoMixin< LoopNestAnalysis >, llvm::AnalysisInfoMixin< MachineModuleAnalysis >, llvm::AnalysisInfoMixin< MemoryDependenceAnalysis >, llvm::AnalysisInfoMixin< MemorySSAAnalysis >, llvm::AnalysisInfoMixin< ModuleSummaryIndexAnalysis >, llvm::AnalysisInfoMixin< NVPTXAA >, llvm::AnalysisInfoMixin< OptimizationRemarkEmitterAnalysis >, llvm::AnalysisInfoMixin< OuterAnalysisManagerProxy< AnalysisManagerT, IRUnitT, ExtraArgTs... > >, llvm::AnalysisInfoMixin< PassInstrumentationAnalysis >, llvm::AnalysisInfoMixin< PhiValuesAnalysis >, llvm::AnalysisInfoMixin< PluginInlineAdvisorAnalysis >, llvm::AnalysisInfoMixin< PostDominatorTreeAnalysis >, llvm::AnalysisInfoMixin< ProfileSummaryAnalysis >, llvm::AnalysisInfoMixin< RegionInfoAnalysis >, llvm::AnalysisInfoMixin< SCEVAA >, llvm::AnalysisInfoMixin< ScalarEvolutionAnalysis >, llvm::AnalysisInfoMixin< ScopedNoAliasAA >, llvm::AnalysisInfoMixin< ShouldNotRunFunctionPassesAnalysis >, llvm::AnalysisInfoMixin< ShouldRunExtraVectorPasses >, llvm::AnalysisInfoMixin< StackSafetyAnalysis >, llvm::AnalysisInfoMixin< StackSafetyGlobalAnalysis >, llvm::AnalysisInfoMixin< TargetIRAnalysis >, llvm::AnalysisInfoMixin< TargetLibraryAnalysis >, llvm::AnalysisInfoMixin< TypeBasedAA >, llvm::AnalysisInfoMixin< UniformityInfoAnalysis >, llvm::AnalysisInfoMixin< VerifierAnalysis >, llvm::AnalysisInfoMixin< ShaderFlagsAnalysis >, llvm::AnalysisInfoMixin< ObjCARCAA >, llvm::DOTGraphTraitsPrinter< DominatorTreeAnalysis, true >, llvm::DOTGraphTraitsPrinter< DominatorTreeAnalysis, false >, llvm::DOTGraphTraitsPrinter< PostDominatorTreeAnalysis, true >, llvm::DOTGraphTraitsPrinter< PostDominatorTreeAnalysis, false >, llvm::DOTGraphTraitsViewer< DominatorTreeAnalysis, true >, llvm::DOTGraphTraitsViewer< DominatorTreeAnalysis, false >, llvm::DOTGraphTraitsViewer< PostDominatorTreeAnalysis, true >, llvm::DOTGraphTraitsViewer< PostDominatorTreeAnalysis, false >, llvm::PassManager< MachineFunction, MachineFunctionAnalysisManager >, llvm::PassManager< Function >, llvm::PassManager< Module >, llvm::PassManager< LazyCallGraph::SCC, CGSCCAnalysisManager, LazyCallGraph &, CGSCCUpdateResult & >, llvm::AnalysisInfoMixin< DerivedT >, llvm::DOTGraphTraitsPrinter< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >, llvm::DOTGraphTraitsViewer< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >, llvm::PassManager< IRUnitT, AnalysisManagerT, ExtraArgTs >, and llvm::RequireAnalysisPass< AnalysisT, IRUnitT, AnalysisManagerT, ExtraArgTs >.

Public Member Functions

void printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)
 

Static Public Member Functions

static StringRef name ()
 Gets the name of the pass we are mixed into.
 

Detailed Description

template<typename DerivedT>
struct llvm::PassInfoMixin< DerivedT >

A CRTP mix-in to automatically provide informational APIs needed for passes.

This provides some boilerplate for types that are passes.

Definition at line 371 of file PassManager.h.

Member Function Documentation

◆ name()

template<typename DerivedT >
static StringRef llvm::PassInfoMixin< DerivedT >::name ( )
inlinestatic

Gets the name of the pass we are mixed into.

Definition at line 373 of file PassManager.h.

References Name.

◆ printPipeline()

template<typename DerivedT >
void llvm::PassInfoMixin< DerivedT >::printPipeline ( raw_ostream OS,
function_ref< StringRef(StringRef)>  MapClassName2PassName 
)
inline

Definition at line 381 of file PassManager.h.

References PassName.


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