LLVM
8.0.1
|
A template wrapper used to implement the polymorphic API. More...
#include "llvm/IR/PassManagerInternal.h"
Public Member Functions | |
PassModel (PassT Pass) | |
PassModel (const PassModel &Arg) | |
PassModel (PassModel &&Arg) | |
PassModel & | operator= (PassModel RHS) |
PreservedAnalysesT | run (IRUnitT &IR, AnalysisManagerT &AM, ExtraArgTs... ExtraArgs) override |
The polymorphic API which runs the pass over a given IR entity. More... | |
StringRef | name () const override |
Polymorphic method to access the name of a pass. More... | |
Public Member Functions inherited from llvm::detail::PassConcept< IRUnitT, AnalysisManagerT, ExtraArgTs... > | |
virtual | ~PassConcept ()=default |
Public Attributes | |
PassT | Pass |
Friends | |
void | swap (PassModel &LHS, PassModel &RHS) |
A template wrapper used to implement the polymorphic API.
Can be instantiated for any object which provides a run
method accepting an IRUnitT&
and an AnalysisManager<IRUnit>&
. It requires the pass to be a copyable object.
Definition at line 61 of file PassManagerInternal.h.
|
inlineexplicit |
Definition at line 62 of file PassManagerInternal.h.
|
inline |
Definition at line 65 of file PassManagerInternal.h.
|
inline |
Definition at line 66 of file PassManagerInternal.h.
|
inlineoverridevirtual |
Polymorphic method to access the name of a pass.
Implements llvm::detail::PassConcept< IRUnitT, AnalysisManagerT, ExtraArgTs... >.
Definition at line 83 of file PassManagerInternal.h.
References name.
|
inline |
Definition at line 73 of file PassManagerInternal.h.
References std::swap().
|
inlineoverridevirtual |
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.
Implements llvm::detail::PassConcept< IRUnitT, AnalysisManagerT, ExtraArgTs... >.
Definition at line 78 of file PassManagerInternal.h.
|
friend |
Definition at line 68 of file PassManagerInternal.h.
PassT llvm::detail::PassModel< IRUnitT, PassT, PreservedAnalysesT, AnalysisManagerT, ExtraArgTs >::Pass |
Definition at line 85 of file PassManagerInternal.h.