1#ifndef PROTEUS_LAMBDA_INTERFACE_HPP
2#define PROTEUS_LAMBDA_INTERFACE_HPP
4#include <llvm/ADT/DenseMap.h>
5#include <llvm/ADT/StringRef.h>
6#include <llvm/Demangle/Demangle.h>
27 std::optional<DenseMap<StringRef, SmallVector<RuntimeConstant>>
::iterator>
31 if (
Sep == std::string::npos) {
33 <<
"... SKIP ::operator() not found\n");
40 <<
"Operator " <<
Operator <<
"\n=> LambdaType to match "
43 for (
auto &[
Key,
Val] : JitVariableMap) {
50 if (
It == JitVariableMap.end())
57 PendingJitVariables.emplace_back(
RC);
69 if (!PendingJitVariables.empty()) {
71 PendingJitVariables.clear();
79 bool empty() {
return JitVariableMap.empty(); }
#define PROTEUS_DBG(x)
Definition Debug.h:9
static Config & get()
Definition Config.hpp:304
Definition LambdaRegistry.hpp:20
void registerLambda(const char *LambdaType)
Definition LambdaRegistry.hpp:63
void pushJitVariable(RuntimeConstant &RC)
Definition LambdaRegistry.hpp:56
std::optional< DenseMap< StringRef, SmallVector< RuntimeConstant > >::iterator > matchJitVariableMap(StringRef FnName)
Definition LambdaRegistry.hpp:28
const SmallVector< RuntimeConstant > & getJitVariables(StringRef LambdaTypeRef)
Definition LambdaRegistry.hpp:75
static LambdaRegistry & instance()
Definition LambdaRegistry.hpp:22
bool empty()
Definition LambdaRegistry.hpp:79
static llvm::raw_ostream & logs(const std::string &Name)
Definition Logger.hpp:19
Definition BuiltinsCUDA.cpp:4
T getRuntimeConstantValue(void *Arg)
Definition CompilerInterfaceRuntimeConstantInfo.h:114
Definition CompilerInterfaceTypes.h:72