struct PassModel
Declaration
template <typename IRUnitT,
typename PassT,
typename PreservedAnalysesT,
typename AnalysisManagerT,
typename... ExtraArgTs>
struct PassModel { /* full declaration omitted */ };
Description
A template wrapper used to implement the polymorphic API. Can be instantiated for any object which provides a \c run method accepting an \c IRUnitT& and an \c AnalysisManager<IRUnit>&. It requires the pass to be a copyable object.
Declared at: llvm/include/llvm/IR/PassManagerInternal.h:60
Templates
- IRUnitT
- PassT
- PreservedAnalysesT
- AnalysisManagerT
- ExtraArgTs
Member Variables
- public PassT Pass
Method Overview
- public PassModel<IRUnitT, PassT, PreservedAnalysesT, AnalysisManagerT, ExtraArgTs...>(PassT Pass)
- public PassModel<IRUnitT, PassT, PreservedAnalysesT, AnalysisManagerT, ExtraArgTs...>(const PassModel<IRUnitT, PassT, PreservedAnalysesT, AnalysisManagerT, ExtraArgTs...> & Arg)
- public PassModel<IRUnitT, PassT, PreservedAnalysesT, AnalysisManagerT, ExtraArgTs...>(PassModel<IRUnitT, PassT, PreservedAnalysesT, AnalysisManagerT, ExtraArgTs...> && Arg)
- public llvm::StringRef name() const
- public PreservedAnalysesT run(IRUnitT & IR, AnalysisManagerT & AM, ExtraArgTs... ExtraArgs)
Methods
¶PassModel<IRUnitT,
PassT,
PreservedAnalysesT,
AnalysisManagerT,
ExtraArgTs...>(PassT Pass)
PassModel<IRUnitT,
PassT,
PreservedAnalysesT,
AnalysisManagerT,
ExtraArgTs...>(PassT Pass)
Declared at: llvm/include/llvm/IR/PassManagerInternal.h:61
Parameters
- PassT Pass
¶PassModel<IRUnitT,
PassT,
PreservedAnalysesT,
AnalysisManagerT,
ExtraArgTs...>(
const PassModel<IRUnitT,
PassT,
PreservedAnalysesT,
AnalysisManagerT,
ExtraArgTs...>& Arg)
PassModel<IRUnitT,
PassT,
PreservedAnalysesT,
AnalysisManagerT,
ExtraArgTs...>(
const PassModel<IRUnitT,
PassT,
PreservedAnalysesT,
AnalysisManagerT,
ExtraArgTs...>& Arg)
Declared at: llvm/include/llvm/IR/PassManagerInternal.h:64
Parameters
- const PassModel<IRUnitT, PassT, PreservedAnalysesT, AnalysisManagerT, ExtraArgTs...>& Arg
¶PassModel<IRUnitT,
PassT,
PreservedAnalysesT,
AnalysisManagerT,
ExtraArgTs...>(
PassModel<IRUnitT,
PassT,
PreservedAnalysesT,
AnalysisManagerT,
ExtraArgTs...>&& Arg)
PassModel<IRUnitT,
PassT,
PreservedAnalysesT,
AnalysisManagerT,
ExtraArgTs...>(
PassModel<IRUnitT,
PassT,
PreservedAnalysesT,
AnalysisManagerT,
ExtraArgTs...>&& Arg)
Declared at: llvm/include/llvm/IR/PassManagerInternal.h:65
Parameters
- PassModel<IRUnitT, PassT, PreservedAnalysesT, AnalysisManagerT, ExtraArgTs...>&& Arg
¶llvm::StringRef name() const
llvm::StringRef name() const
Declared at: llvm/include/llvm/IR/PassManagerInternal.h:82
¶PreservedAnalysesT run(IRUnitT& IR,
AnalysisManagerT& AM,
ExtraArgTs... ExtraArgs)
PreservedAnalysesT run(IRUnitT& IR,
AnalysisManagerT& AM,
ExtraArgTs... ExtraArgs)
Declared at: llvm/include/llvm/IR/PassManagerInternal.h:77
Parameters
- IRUnitT& IR
- AnalysisManagerT& AM
- ExtraArgTs... ExtraArgs