LLVM
15.0.0git
|
Wrapper to model the analysis pass concept. More...
#include "llvm/IR/PassManagerInternal.h"
Public Types | |
using | ResultModelT = AnalysisResultModel< IRUnitT, PassT, typename PassT::Result, PreservedAnalysesT, InvalidatorT > |
Public Member Functions | |
AnalysisPassModel (PassT Pass) | |
AnalysisPassModel (const AnalysisPassModel &Arg) | |
AnalysisPassModel (AnalysisPassModel &&Arg) | |
AnalysisPassModel & | operator= (AnalysisPassModel RHS) |
std::unique_ptr< AnalysisResultConcept< IRUnitT, PreservedAnalysesT, InvalidatorT > > | run (IRUnitT &IR, AnalysisManager< IRUnitT, ExtraArgTs... > &AM, ExtraArgTs... ExtraArgs) override |
The model delegates to the PassT::run method. More... | |
StringRef | name () const override |
The model delegates to a static PassT::name method. More... | |
![]() | |
virtual | ~AnalysisPassConcept ()=default |
virtual StringRef | name () const=0 |
Polymorphic method to access the name of a pass. More... | |
Public Attributes | |
PassT | Pass |
Friends | |
void | swap (AnalysisPassModel &LHS, AnalysisPassModel &RHS) |
Wrapper to model the analysis pass concept.
Can wrap any type which implements a suitable run
method. The method must accept an IRUnitT&
and an AnalysisManager<IRUnitT>&
as arguments and produce an object which can be wrapped in a AnalysisResultModel
.
Definition at line 293 of file PassManagerInternal.h.
using llvm::detail::AnalysisPassModel< IRUnitT, PassT, PreservedAnalysesT, InvalidatorT, ExtraArgTs >::ResultModelT = AnalysisResultModel<IRUnitT, PassT, typename PassT::Result, PreservedAnalysesT, InvalidatorT> |
Definition at line 314 of file PassManagerInternal.h.
|
inlineexplicit |
Definition at line 295 of file PassManagerInternal.h.
|
inline |
Definition at line 298 of file PassManagerInternal.h.
|
inline |
Definition at line 299 of file PassManagerInternal.h.
|
inlineoverride |
The model delegates to a static PassT::name
method.
The returned string ref must point to constant immutable data!
Definition at line 330 of file PassManagerInternal.h.
References name.
|
inline |
Definition at line 306 of file PassManagerInternal.h.
References RHS, and llvm::detail::AnalysisPassModel< IRUnitT, PassT, PreservedAnalysesT, InvalidatorT, ExtraArgTs >::swap.
|
inlineoverridevirtual |
The model delegates to the PassT::run
method.
The return is wrapped in an AnalysisResultModel
.
Implements llvm::detail::AnalysisPassConcept< IRUnitT, PreservedAnalysesT, InvalidatorT, ExtraArgTs... >.
Definition at line 321 of file PassManagerInternal.h.
References IR.
|
friend |
Definition at line 301 of file PassManagerInternal.h.
Referenced by llvm::detail::AnalysisPassModel< IRUnitT, PassT, PreservedAnalysesT, InvalidatorT, ExtraArgTs >::operator=().
PassT llvm::detail::AnalysisPassModel< IRUnitT, PassT, PreservedAnalysesT, InvalidatorT, ExtraArgTs >::Pass |
Definition at line 332 of file PassManagerInternal.h.