LLVM: llvm::detail::PassConcept< IRUnitT, AnalysisManagerT, ExtraArgTs (original) (raw)

Template for the abstract base class used to dispatch polymorphically over pass objects. More...

#include "[llvm/IR/PassManagerInternal.h](PassManagerInternal%5F8h%5Fsource.html)"

Public Member Functions
virtual ~PassConcept ()=default
virtual PreservedAnalyses run (IRUnitT &IR, AnalysisManagerT &AM, ExtraArgTs... ExtraArgs)=0
The polymorphic API which runs the pass over a given IR entity.
virtual void printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)=0
virtual StringRef name () const =0
Polymorphic method to access the name of a pass.
virtual bool isRequired () const =0
Polymorphic method to let a pass optionally exempted from skipping by PassInstrumentation.

template<typename IRUnitT, typename AnalysisManagerT, typename... ExtraArgTs>
struct llvm::detail::PassConcept< IRUnitT, AnalysisManagerT, ExtraArgTs >

Template for the abstract base class used to dispatch polymorphically over pass objects.

Definition at line 40 of file PassManagerInternal.h.

template<typename IRUnitT, typename AnalysisManagerT, typename... ExtraArgTs>

isRequired()

template<typename IRUnitT, typename AnalysisManagerT, typename... ExtraArgTs>

name()

template<typename IRUnitT, typename AnalysisManagerT, typename... ExtraArgTs>

printPipeline()

template<typename IRUnitT, typename AnalysisManagerT, typename... ExtraArgTs>

run()

template<typename IRUnitT, typename AnalysisManagerT, typename... ExtraArgTs>


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