LLVM 22.0.0git
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::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< LazyCallGraph::SCC, CGSCCAnalysisManager, LazyCallGraph &, CGSCCUpdateResult & >, llvm::PassManager< MachineFunction >, llvm::PassManager< Module >, llvm::PassManager< Function >, , llvm::RequireAnalysisPass< AnalysisT, LazyCallGraph::SCC, CGSCCAnalysisManager, LazyCallGraph &, CGSCCUpdateResult & >, , llvm::AnalysisInfoMixin< DerivedT >, llvm::DOTGraphTraitsPrinter< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >, llvm::DOTGraphTraitsViewer< AnalysisT, IsSimple, GraphT, AnalysisGraphTraitsT >, llvm::MachineLICMBasePass< DerivedT, PreRegAlloc >, and llvm::PassManager< 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 70 of file PassManager.h.

Member Function Documentation

◆ name()

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

Gets the name of the pass we are mixed into.

Definition at line 72 of file PassManager.h.

References llvm::getTypeName().

◆ printPipeline()

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

Definition at line 80 of file PassManager.h.

References PassName.

Referenced by llvm::LintPass::printPipeline().


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