struct AnalysisPassModel
Declaration
template <typename IRUnitT,
typename PassT,
typename PreservedAnalysesT,
typename InvalidatorT,
typename... ExtraArgTs>
struct AnalysisPassModel { /* full declaration omitted */ };
Description
Wrapper to model the analysis pass concept. Can wrap any type which implements a suitable \c run method. The method must accept an \c IRUnitT& and an \c AnalysisManager<IRUnitT>& as arguments and produce an object which can be wrapped in a \c AnalysisResultModel.
Declared at: llvm/include/llvm/IR/PassManagerInternal.h:262
Templates
- IRUnitT
- PassT
- PreservedAnalysesT
- InvalidatorT
- ExtraArgTs
Member Variables
- public PassT Pass
Method Overview
- public AnalysisPassModel<IRUnitT, PassT, PreservedAnalysesT, InvalidatorT, ExtraArgTs...>(PassT Pass)
- public AnalysisPassModel<IRUnitT, PassT, PreservedAnalysesT, InvalidatorT, ExtraArgTs...>(const AnalysisPassModel<IRUnitT, PassT, PreservedAnalysesT, InvalidatorT, ExtraArgTs...> & Arg)
- public AnalysisPassModel<IRUnitT, PassT, PreservedAnalysesT, InvalidatorT, ExtraArgTs...>(AnalysisPassModel<IRUnitT, PassT, PreservedAnalysesT, InvalidatorT, ExtraArgTs...> && Arg)
- public llvm::StringRef name() const
- public int run(IRUnitT & IR, AnalysisManager<IRUnitT, ExtraArgTs...> & AM, ExtraArgTs... ExtraArgs)
Methods
¶AnalysisPassModel<IRUnitT,
PassT,
PreservedAnalysesT,
InvalidatorT,
ExtraArgTs...>(PassT Pass)
AnalysisPassModel<IRUnitT,
PassT,
PreservedAnalysesT,
InvalidatorT,
ExtraArgTs...>(PassT Pass)
Declared at: llvm/include/llvm/IR/PassManagerInternal.h:264
Parameters
- PassT Pass
¶AnalysisPassModel<IRUnitT,
PassT,
PreservedAnalysesT,
InvalidatorT,
ExtraArgTs...>(
const AnalysisPassModel<IRUnitT,
PassT,
PreservedAnalysesT,
InvalidatorT,
ExtraArgTs...>& Arg)
AnalysisPassModel<IRUnitT,
PassT,
PreservedAnalysesT,
InvalidatorT,
ExtraArgTs...>(
const AnalysisPassModel<IRUnitT,
PassT,
PreservedAnalysesT,
InvalidatorT,
ExtraArgTs...>& Arg)
Declared at: llvm/include/llvm/IR/PassManagerInternal.h:267
Parameters
- const AnalysisPassModel<IRUnitT, PassT, PreservedAnalysesT, InvalidatorT, ExtraArgTs...>& Arg
¶AnalysisPassModel<IRUnitT,
PassT,
PreservedAnalysesT,
InvalidatorT,
ExtraArgTs...>(
AnalysisPassModel<IRUnitT,
PassT,
PreservedAnalysesT,
InvalidatorT,
ExtraArgTs...>&& Arg)
AnalysisPassModel<IRUnitT,
PassT,
PreservedAnalysesT,
InvalidatorT,
ExtraArgTs...>(
AnalysisPassModel<IRUnitT,
PassT,
PreservedAnalysesT,
InvalidatorT,
ExtraArgTs...>&& Arg)
Declared at: llvm/include/llvm/IR/PassManagerInternal.h:268
Parameters
- AnalysisPassModel<IRUnitT, PassT, PreservedAnalysesT, InvalidatorT, ExtraArgTs...>&& Arg
¶llvm::StringRef name() const
llvm::StringRef name() const
Description
The model delegates to a static \c PassT::name method. The returned string ref must point to constant immutable data!
Declared at: llvm/include/llvm/IR/PassManagerInternal.h:299
¶int run(
IRUnitT& IR,
AnalysisManager<IRUnitT, ExtraArgTs...>& AM,
ExtraArgTs... ExtraArgs)
int run(
IRUnitT& IR,
AnalysisManager<IRUnitT, ExtraArgTs...>& AM,
ExtraArgTs... ExtraArgs)
Declared at: llvm/include/llvm/IR/PassManagerInternal.h:290
Parameters
- IRUnitT& IR
- AnalysisManager<IRUnitT, ExtraArgTs...>& AM
- ExtraArgTs... ExtraArgs