Home
last modified time | relevance | path

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

/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DPassManager.h119 template <typename PassT, typename IRUnitT, typename AnalysisManagerT,
121 typename PassT::Result
126 return AM.template getResult<PassT>(IR, std::get<Ns>(Args)...); in getAnalysisResultUnpackTuple()
134 template <typename PassT, typename IRUnitT, typename... AnalysisArgTs,
136 typename PassT::Result
140 PassT, IRUnitT>)(AM, IR, Args, in getAnalysisResult()
193 template <typename PassT>
194 LLVM_ATTRIBUTE_MINSIZE std::enable_if_t<!std::is_same_v<PassT, PassManager>>
195 addPass(PassT &&Pass) { in addPass()
197 detail::PassModel<IRUnitT, PassT, AnalysisManagerT, ExtraArgTs...>; in addPass()
[all …]
H A DPassInstrumentation.h208 template <typename PassT>
209 using has_required_t = decltype(std::declval<PassT &>().isRequired());
211 template <typename PassT>
212 static std::enable_if_t<is_detected<has_required_t, PassT>::value, bool>
213 isRequired(const PassT &Pass) { in isRequired()
216 template <typename PassT>
217 static std::enable_if_t<!is_detected<has_required_t, PassT>::value, bool>
218 isRequired(const PassT &Pass) { in isRequired()
235 template <typename IRUnitT, typename PassT>
236 bool runBeforePass(const PassT &Pass, const IRUnitT &IR) const { in runBeforePass()
[all …]
H A DPassManagerInternal.h69 template <typename IRUnitT, typename PassT, typename AnalysisManagerT,
72 explicit PassModel(PassT Pass) : Pass(std::move(Pass)) {} in PassModel()
99 StringRef name() const override { return PassT::name(); } in name()
115 bool isRequired() const override { return passIsRequiredImpl<PassT>(); } in isRequired()
117 PassT Pass;
189 template <typename IRUnitT, typename PassT, typename ResultT,
197 template <typename IRUnitT, typename PassT, typename ResultT,
199 struct AnalysisResultModel<IRUnitT, PassT, ResultT, InvalidatorT, false>
225 auto PAC = PA.template getChecker<PassT>();
235 template <typename IRUnitT, typename PassT, typename ResultT,
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
H A DLoopPassManager.h58 template <typename PassT>
59 using HasRunOnLoopT = decltype(std::declval<PassT>().run(
105 template <typename PassT>
107 std::enable_if_t<is_detected<HasRunOnLoopT, PassT>::value>
108 addPass(PassT &&Pass) { in addPass()
110 detail::PassModel<Loop, PassT, LoopAnalysisManager, in addPass()
116 new LoopPassModelT(std::forward<PassT>(Pass)))); in addPass()
119 template <typename PassT>
121 std::enable_if_t<!is_detected<HasRunOnLoopT, PassT>::value>
122 addPass(PassT &&Pass) { in addPass()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DMachinePassManager.h42 template <typename PassT> class MFPropsModifier {
44 MFPropsModifier(PassT &P_, MachineFunction &MF_) : P(P_), MF(MF_) { in MFPropsModifier()
47 if constexpr (has_get_required_properties_v<PassT>) { in MFPropsModifier()
51 errs() << "MachineFunctionProperties required by " << PassT::name() in MFPropsModifier()
62 if constexpr (has_get_cleared_properties_v<PassT>) in MFPropsModifier()
67 if constexpr (has_get_set_properties_v<PassT>) { in ~MFPropsModifier()
74 PassT &P;
103 template <typename PassT>
104 MFPropsModifier(PassT &P, MachineFunction &MF) -> MFPropsModifier<PassT>;
/freebsd/contrib/llvm-project/llvm/include/llvm/Passes/
H A DCodeGenPassBuilder.h149 template <typename PassT>
150 using has_required_t = decltype(std::declval<PassT &>().isRequired());
152 template <typename PassT>
153 using is_module_pass_t = decltype(std::declval<PassT &>().run(
156 template <typename PassT>
157 using is_function_pass_t = decltype(std::declval<PassT &>().run(
160 template <typename PassT>
161 using is_machine_function_pass_t = decltype(std::declval<PassT &>().run(
177 template <typename PassT>
178 void operator()(PassT &&Pass, StringRef Name = PassT::name()) { in operator()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DLazyBranchProbabilityInfo.h113 template <typename PassT> struct BPIPassTrait {
114 static PassT &getBPI(PassT *P) { return *P; } in getBPI()