17#ifndef LLVM_EXECUTIONENGINE_ORC_RECORDPROXY_H
18#define LLVM_EXECUTIONENGINE_ORC_RECORDPROXY_H
28template <
typename FnT>
35 auto N = ES.intern(Name);
38 auto Sym = M.lookup(
N);
47template <
typename ProxySpecT,
typename FnT>
51 return recordProxy(
P, ProxySpecT::dispatch, ProxySpecT::Name, LF);
56template <
typename ProxySpecT,
typename FnT>
Represent a constant reference to a string, i.e.
An ExecutionSession represents a running JIT program.
A set of symbols to look up, each associated with a SymbolLookupFlags value.
SymbolLookupFlags
Lookup flags that apply to each symbol in a lookup.
DenseMap< SymbolStringPtr, ExecutorSymbolDef > SymbolMap
A map from symbol names (as SymbolStringPtrs) to JITSymbols (address/flags pairs).
unique_function< void(const SymbolMap &M)> LookupApplyFn
Acts on the result of a completed lookup.
LookupPrepareFn recordProxy(Proxy< FnT > *P, typename Proxy< FnT >::DispatchFn Dispatch, StringRef Name, SymbolLookupFlags LF=SymbolLookupFlags::RequiredSymbol)
Builds P over the symbol with the given name, dispatching through Dispatch.
unique_function< LookupApplyFn( SymbolLookupSet &LS, ExecutionSession &ES) const > LookupPrepareFn
Contributes symbols to a lookup, and returns the function that will act on the result.