LLVM API Documentation
Template for the abstract base class used to dispatch polymorphically over pass objects. More...
#include <PassManager.h>
Public Member Functions | |
virtual | ~PassConcept () |
virtual PreservedAnalyses | run (IRUnitT IR, AnalysisManagerT *AM)=0 |
The polymorphic API which runs the pass over a given IR entity. | |
virtual StringRef | name ()=0 |
Polymorphic method to access the name of a pass. |
Template for the abstract base class used to dispatch polymorphically over pass objects.
Definition at line 160 of file IR/PassManager.h.
virtual llvm::detail::PassConcept< IRUnitT, AnalysisManagerT >::~PassConcept | ( | ) | [inline, virtual] |
Definition at line 162 of file IR/PassManager.h.
virtual StringRef llvm::detail::PassConcept< IRUnitT, AnalysisManagerT >::name | ( | ) | [pure virtual] |
Polymorphic method to access the name of a pass.
Implemented in llvm::detail::PassModel< IRUnitT, AnalysisManagerT, PassT, false >, and llvm::detail::PassModel< IRUnitT, AnalysisManagerT, PassT, true >.
virtual PreservedAnalyses llvm::detail::PassConcept< IRUnitT, AnalysisManagerT >::run | ( | IRUnitT | IR, |
AnalysisManagerT * | AM | ||
) | [pure virtual] |
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.
Implemented in llvm::detail::PassModel< IRUnitT, AnalysisManagerT, PassT, false >, and llvm::detail::PassModel< IRUnitT, AnalysisManagerT, PassT, true >.