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:
- include/llvm/IR/PassManagerInternal.h