Home
last modified time | relevance | path

Searched refs:PassT (Results 1 – 8 of 8) sorted by relevance

/openbsd/src/gnu/llvm/llvm/include/llvm/CodeGen/
DMachinePassManager.h56 template <typename PassT> typename PassT::Result &getResult(Function &F) { in getResult()
57 return FAM->getResult<PassT>(F); in getResult()
65 template <typename PassT>
66 typename PassT::Result *getCachedResult(Function &F) { in getCachedResult()
67 return FAM->getCachedResult<PassT>(F); in getCachedResult()
73 template <typename PassT> typename PassT::Result &getResult(Module &M) { in getResult()
74 return MAM->getResult<PassT>(M); in getResult()
82 template <typename PassT> typename PassT::Result *getCachedResult(Module &M) { in getCachedResult()
83 return MAM->getCachedResult<PassT>(M); in getCachedResult()
155 template <typename PassT> void addPass(PassT &&Pass) { in addPass()
[all …]
DCodeGenPassBuilder.h141 template <typename PassT> using has_key_t = decltype(PassT::Key);
143 template <typename PassT>
144 using is_module_pass_t = decltype(std::declval<PassT &>().run(
147 template <typename PassT>
148 using is_function_pass_t = decltype(std::declval<PassT &>().run(
164 template <typename PassT>
165 std::enable_if_t<is_detected<is_function_pass_t, PassT>::value>
166 operator()(PassT &&Pass) { in operator()
169 FPM.addPass(std::forward<PassT>(Pass)); in operator()
173 template <typename PassT>
[all …]
/openbsd/src/gnu/llvm/llvm/include/llvm/IR/
DPassInstrumentation.h201 template <typename PassT>
202 using has_required_t = decltype(std::declval<PassT &>().isRequired());
204 template <typename PassT>
205 static std::enable_if_t<is_detected<has_required_t, PassT>::value, bool>
206 isRequired(const PassT &Pass) { in isRequired()
209 template <typename PassT>
210 static std::enable_if_t<!is_detected<has_required_t, PassT>::value, bool>
211 isRequired(const PassT &Pass) { in isRequired()
228 template <typename IRUnitT, typename PassT>
229 bool runBeforePass(const PassT &Pass, const IRUnitT &IR) const { in runBeforePass()
[all …]
DPassManager.h421 template <typename PassT, typename IRUnitT, typename AnalysisManagerT,
423 typename PassT::Result
428 return AM.template getResult<PassT>(IR, std::get<Ns>(Args)...); in getAnalysisResultUnpackTuple()
436 template <typename PassT, typename IRUnitT, typename... AnalysisArgTs,
438 typename PassT::Result
442 PassT, IRUnitT>)(AM, IR, Args, in getAnalysisResult()
541 template <typename PassT>
543 std::enable_if_t<!std::is_same<PassT, PassManager>::value>
544 addPass(PassT &&Pass) { in addPass()
546 detail::PassModel<IRUnitT, PassT, PreservedAnalyses, AnalysisManagerT, in addPass()
[all …]
DPassManagerInternal.h68 template <typename IRUnitT, typename PassT, typename PreservedAnalysesT,
71 explicit PassModel(PassT Pass) : Pass(std::move(Pass)) {} in PassModel()
98 StringRef name() const override { return PassT::name(); } in name()
114 bool isRequired() const override { return passIsRequiredImpl<PassT>(); } in isRequired()
116 PassT Pass;
188 template <typename IRUnitT, typename PassT, typename ResultT,
196 template <typename IRUnitT, typename PassT, typename ResultT,
198 struct AnalysisResultModel<IRUnitT, PassT, ResultT, PreservedAnalysesT,
225 auto PAC = PA.template getChecker<PassT>();
235 template <typename IRUnitT, typename PassT, typename ResultT,
[all …]
/openbsd/src/gnu/llvm/llvm/include/llvm/Transforms/Scalar/
DLoopPassManager.h57 template <typename PassT>
58 using HasRunOnLoopT = decltype(std::declval<PassT>().run(
104 template <typename PassT>
106 std::enable_if_t<is_detected<HasRunOnLoopT, PassT>::value>
107 addPass(PassT &&Pass) { in addPass()
109 detail::PassModel<Loop, PassT, PreservedAnalyses, LoopAnalysisManager, in addPass()
115 new LoopPassModelT(std::forward<PassT>(Pass)))); in addPass()
118 template <typename PassT>
120 std::enable_if_t<!is_detected<HasRunOnLoopT, PassT>::value>
121 addPass(PassT &&Pass) { in addPass()
[all …]
/openbsd/src/gnu/llvm/llvm/include/llvm/Analysis/
DLazyBranchProbabilityInfo.h113 template <typename PassT> struct BPIPassTrait {
114 static PassT &getBPI(PassT *P) { return *P; } in getBPI()
/openbsd/src/gnu/llvm/llvm/docs/
DWritingAnLLVMNewPMPass.rst23 the CRTP mix-in ``PassInfoMixin<PassT>``. The pass should have a ``run()``
95 method which actually runs the pass. Inheriting from ``PassInfoMixin<PassT>``