30template <
class... Ts>
class PluginChain;
36template <>
class PluginChain<> {
42template <
class PluginT,
class... Ts>
43class PluginChain<PluginT, Ts...> :
public PluginChain<Ts...> {
45 using Base = PluginChain<Ts...>;
49 : PluginChain<Ts...>(
F, TLI), Plugin(
F, TLI) {}
52 if (K == PluginT::Kind)
53 Plugin.run(Candidates);
54 Base::get(K, Candidates);
63 using PluginChainFinal::PluginChainFinal;
72std::vector<CandidateInfo>
74 std::vector<CandidateInfo> Result;
75 PImpl->get(Kind, Result);
ValueProfileCollectorImpl inherits the API of PluginChainFinal.
Provides information about what library functions are available for the current target.
ValueProfileCollector(Function &Fn, TargetLibraryInfo &TLI)
std::vector< CandidateInfo > get(InstrProfValueKind Kind) const
returns a list of value profiling candidates of the given kind
This is an optimization pass for GlobalISel generic memory operations.
decltype(auto) get(const PointerIntPair< PointerTy, IntBits, IntType, PtrTraits, Info > &Pair)