ΒΆtemplate <typename AnalysisT,
          typename IRUnitT,
          typename AnalysisManagerT,
          typename... ExtraArgTs>
bool parseAnalysisUtilityPasses(
    llvm::StringRef AnalysisName,
    llvm::StringRef PipelineName,
    PassManager<IRUnitT,
                AnalysisManagerT,
                ExtraArgTs...>& PM)

Description

This utility template takes care of adding require < > and invalidate < > passes for an analysis to a given \c PassManager. It is intended to be used during parsing of a pass pipeline when parsing a single PipelineName. When registering a new function analysis FancyAnalysis with the pass pipeline name "fancy-analysis", a matching ParsePipelineCallback could look like this: static bool parseFunctionPipeline(StringRef Name, FunctionPassManager &FPM , ArrayRef <PipelineElement > P) { if (parseAnalysisUtilityPasses <FancyAnalysis >("fancy-analysis", Name, FPM)) return true; return false; }

Declared at: llvm/include/llvm/Passes/PassBuilder.h:744

Templates

AnalysisT
IRUnitT
AnalysisManagerT
ExtraArgTs

Parameters

llvm::StringRef AnalysisName
llvm::StringRef PipelineName
PassManager<IRUnitT, AnalysisManagerT, ExtraArgTs...>& PM