struct PassConcept
Declaration
template <typename IRUnitT,
typename AnalysisManagerT,
typename... ExtraArgTs>
struct PassConcept { /* full declaration omitted */ };
Description
Template for the abstract base class used to dispatch polymorphically over pass objects.
Declared at: llvm/include/llvm/IR/PassManagerInternal.h:37
Templates
- IRUnitT
- AnalysisManagerT
- ExtraArgTs
Method Overview
- public virtual llvm::StringRef name() const
- public virtual llvm::PreservedAnalyses run(IRUnitT & IR, AnalysisManagerT & AM, ExtraArgTs... ExtraArgs)
- public virtual ~PassConcept<IRUnitT, AnalysisManagerT, ExtraArgTs...>()
Methods
¶virtual llvm::StringRef name() const
virtual llvm::StringRef name() const
Description
Polymorphic method to access the name of a pass.
Declared at: llvm/include/llvm/IR/PassManagerInternal.h:50
¶virtual llvm::PreservedAnalyses run(
IRUnitT& IR,
AnalysisManagerT& AM,
ExtraArgTs... ExtraArgs)
virtual llvm::PreservedAnalyses run(
IRUnitT& IR,
AnalysisManagerT& AM,
ExtraArgTs... ExtraArgs)
Description
The polymorphic API which runs the pass over a given IR entity. Note that actual pass object can omit the analysis manager argument if desired. Also that the analysis manager may be null if there is no analysis manager in the pass pipeline.
Declared at: llvm/include/llvm/IR/PassManagerInternal.h:46
Parameters
- IRUnitT& IR
- AnalysisManagerT& AM
- ExtraArgTs... ExtraArgs
¶virtual ~PassConcept<IRUnitT,
AnalysisManagerT,
ExtraArgTs...>()
virtual ~PassConcept<IRUnitT,
AnalysisManagerT,
ExtraArgTs...>()
Declared at: llvm/include/llvm/IR/PassManagerInternal.h:39