11#ifndef PROTEUS_JITENGINE_HPP
12#define PROTEUS_JITENGINE_HPP
18#include <llvm/ADT/DenseMap.h>
19#include <llvm/Demangle/Demangle.h>
20#include <llvm/IR/Module.h>
21#include <llvm/Target/TargetMachine.h>
34 const char *EnvValue = std::getenv(
VarName);
35 return EnvValue ?
static_cast<bool>(std::stoi(EnvValue)) : Default;
40 const char *EnvValue = std::getenv(
VarName);
41 return EnvValue ? std::stoi(EnvValue) : Default;
47 void optimizeIR(Module &M, StringRef Arch,
char OptLevel =
'3',
48 unsigned CodegenOptLevel = 3);
59 const ArrayRef<int32_t>
RCTypes,
60 SmallVector<RuntimeConstant> &RCVec);
void char int32_t int32_t * RCTypes
Definition CompilerInterfaceDevice.cpp:51
const char * VarName
Definition CompilerInterfaceDevice.cpp:20
void char int32_t * RCIndices
Definition CompilerInterfaceDevice.cpp:51
Definition Hashing.hpp:19
Definition JitEngine.hpp:44
JitEngine()
Definition JitEngine.cpp:28
bool PROTEUS_USE_STORED_CACHE
Definition JitEngine.hpp:69
bool PROTEUS_ASYNC_COMPILATION
Definition JitEngine.hpp:77
struct proteus::JitEngine::@0 Config
bool isProteusDisabled()
Definition JitEngine.hpp:50
std::string mangleSuffix(HashT &HashValue)
Definition JitEngine.cpp:66
InitLLVMTargets Init
Definition JitEngine.hpp:46
void getRuntimeConstantValues(void **KernelArgs, const ArrayRef< int32_t > RCIndices, const ArrayRef< int32_t > RCTypes, SmallVector< RuntimeConstant > &RCVec)
Definition JitEngine.cpp:80
bool PROTEUS_RELINK_GLOBALS_BY_COPY
Definition JitEngine.hpp:76
void disable()
Definition JitEngine.hpp:54
bool PROTEUS_SPECIALIZE_DIMS
Definition JitEngine.hpp:72
bool PROTEUS_ASYNC_TEST_BLOCKING
Definition JitEngine.hpp:79
bool PROTEUS_DUMP_LLVM_IR
Definition JitEngine.hpp:75
void optimizeIR(Module &M, StringRef Arch, char OptLevel='3', unsigned CodegenOptLevel=3)
Definition JitEngine.cpp:70
bool PROTEUS_DISABLE
Definition JitEngine.hpp:74
bool PROTEUS_USE_LIGHTWEIGHT_KERNEL_CLONE
Definition JitEngine.hpp:80
bool PROTEUS_SPECIALIZE_ARGS
Definition JitEngine.hpp:71
bool PROTEUS_SET_LAUNCH_BOUNDS
Definition JitEngine.hpp:70
void enable()
Definition JitEngine.hpp:52
int PROTEUS_ASYNC_THREADS
Definition JitEngine.hpp:78
void runCleanupPassPipeline(Module &M)
Definition JitEngine.cpp:76
bool PROTEUS_USE_HIP_RTC_CODEGEN
Definition JitEngine.hpp:73
Definition JitEngine.cpp:20
int getEnvOrDefaultInt(const char *VarName, int Default)
Definition JitEngine.hpp:38
bool getEnvOrDefaultBool(const char *VarName, bool Default)
Definition JitEngine.hpp:32
Definition CoreLLVM.hpp:137