Home
last modified time | relevance | path

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

/freebsd/contrib/llvm-project/llvm/include/llvm/IR/
H A DPassManager.h120 template <typename PassT, typename IRUnitT, typename AnalysisManagerT,
122 typename PassT::Result
127 return AM.template getResult<PassT>(IR, std::get<Ns>(Args)...); in getAnalysisResultUnpackTuple()
135 template <typename PassT, typename IRUnitT, typename... AnalysisArgTs,
137 typename PassT::Result
141 PassT, IRUnitT>)(AM, IR, Args, in getAnalysisResult()
194 template <typename PassT>
195 LLVM_ATTRIBUTE_MINSIZE std::enable_if_t<!std::is_same_v<PassT, PassManager>>
196 addPass(PassT &&Pass) { in addPass()
198 detail::PassModel<IRUnitT, PassT, AnalysisManagerT, ExtraArgTs...>; in addPass()
[all …]
H A DPassManagerInternal.h70 template <typename IRUnitT, typename PassT, typename AnalysisManagerT,
73 explicit PassModel(PassT Pass) : Pass(std::move(Pass)) {} in PassModel()
100 StringRef name() const override { return PassT::name(); } in name()
111 bool isRequired() const override { return passIsRequiredImpl<PassT>(); } in isRequired()
113 PassT Pass;
185 template <typename IRUnitT, typename PassT, typename ResultT,
193 template <typename IRUnitT, typename PassT, typename ResultT,
195 struct AnalysisResultModel<IRUnitT, PassT, ResultT, InvalidatorT, false>
221 auto PAC = PA.template getChecker<PassT>();
231 template <typename IRUnitT, typename PassT, typename ResultT,
[all …]
H A DPassInstrumentation.h216 template <typename PassT>
217 using has_required_t = decltype(std::declval<PassT &>().isRequired());
219 template <typename PassT> static bool isRequired(const PassT &Pass) {
220 if constexpr (is_detected<has_required_t, PassT>::value)
238 template <typename IRUnitT, typename PassT>
239 bool runBeforePass(const PassT &Pass, const IRUnitT &IR) const {
263 template <typename IRUnitT, typename PassT>
264 void runAfterPass(const PassT &Pass, const IRUnitT &IR,
274 template <typename IRUnitT, typename PassT>
275 void runAfterPassInvalidated(const PassT &Pass,
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DMachinePassManager.h40 template <typename PassT> class MFPropsModifier {
42 MFPropsModifier(const PassT &P_, MachineFunction &MF_) : P(P_), MF(MF_) { in MFPropsModifier()
45 if constexpr (has_get_required_properties_v<PassT>) { in MFPropsModifier()
49 errs() << "MachineFunctionProperties required by " << PassT::name() in MFPropsModifier()
60 if constexpr (has_get_cleared_properties_v<PassT>) in MFPropsModifier()
65 if constexpr (has_get_set_properties_v<PassT>) { in ~MFPropsModifier()
72 const PassT &P;
101 template <typename PassT>
102 MFPropsModifier(PassT &P, MachineFunction &MF) -> MFPropsModifier<PassT>;
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Scalar/
H A DLoopPassManager.h59 template <typename PassT>
60 using HasRunOnLoopT = decltype(std::declval<PassT>().run(
108 template <typename PassT> LLVM_ATTRIBUTE_MINSIZE void addPass(PassT &&Pass) { in addPass()
109 if constexpr (is_detected<HasRunOnLoopT, PassT>::value) { in addPass()
111 detail::PassModel<Loop, PassT, LoopAnalysisManager, in addPass()
117 new LoopPassModelT(std::forward<PassT>(Pass)))); in addPass()
120 detail::PassModel<LoopNest, PassT, LoopAnalysisManager, in addPass()
126 new LoopNestPassModelT(std::forward<PassT>(Pass)))); in addPass()
154 template <typename IRUnitT, typename PassT>
156 runSinglePass(IRUnitT &IR, PassT &Pass, LoopAnalysisManager &AM,
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Passes/
H A DCodeGenPassBuilder.h197 template <typename PassT>
198 using is_module_pass_t = decltype(std::declval<PassT &>().run(
201 template <typename PassT>
202 using is_function_pass_t = decltype(std::declval<PassT &>().run(
205 template <typename PassT>
206 using is_machine_function_pass_t = decltype(std::declval<PassT &>().run(
219 template <typename PassT>
220 void operator()(PassT &&Pass, bool Force = false, in operator()
221 StringRef Name = PassT::name()) { in operator()
222 static_assert((is_detected<is_function_pass_t, PassT>::value || in operator()
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/Transforms/Utils/
H A DExtraPassManager.h63 template <typename PassT> void addPass(PassT &&Pass) { in addPass()
87 template <typename PassT> void addPass(PassT &&Pass) { in addPass()
/freebsd/contrib/llvm-project/llvm/include/llvm/Analysis/
H A DLazyBranchProbabilityInfo.h112 template <typename PassT> struct BPIPassTrait {
113 static PassT &getBPI(PassT *P) { return *P; } in getBPI()