Proteus
Programmable JIT compilation and optimization for C/C++ using LLVM
Loading...
Searching...
No Matches
Classes | Namespaces | Macros | Enumerations | Functions
Config.h File Reference
#include "proteus/Error.h"
#include "proteus/impl/Logger.h"
#include "llvm/ADT/StringMap.h"
#include <llvm/Support/JSON.h>
#include <llvm/Support/MemoryBuffer.h>
#include <algorithm>
#include <sstream>
#include <string>
Include dependency graph for Config.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  proteus::CodeGenerationConfig
 
class  proteus::Config
 

Namespaces

namespace  proteus
 

Macros

#define PROTEUS_TIMER_OUTPUT(x)
 

Enumerations

enum class  proteus::CodegenOption { proteus::RTC , proteus::Serial , proteus::Parallel }
 
enum class  proteus::KernelCloneOption { proteus::LinkClonePrune , proteus::LinkCloneLight , proteus::CrossClone }
 
enum class  proteus::TraceOption : unsigned { proteus::Specialization = 0x1 , proteus::IRDump = 0x2 , proteus::KernelTrace = 0x4 , proteus::CacheStats = 0x8 }
 

Functions

std::string proteus::toString (CodegenOption Option)
 
std::string proteus::toString (KernelCloneOption Option)
 
std::optional< std::string > proteus::getEnvOrDefaultString (const char *VarName)
 
char proteus::getEnvOrDefaultChar (const char *VarName, char Default)
 
bool proteus::getEnvOrDefaultBool (const char *VarName, bool Default)
 
int proteus::getEnvOrDefaultInt (const char *VarName, int Default)
 
CodegenOption proteus::strToCG (std::string CGstr)
 
CodegenOption proteus::getEnvOrDefaultCG (const char *VarName, CodegenOption Default)
 
template<typename T >
proteus::getDefaultValueFromOptional (std::optional< T > JSONValue, T Default)
 
unsigned proteus::parseTraceConfig (const char *VarName)
 
KernelCloneOption proteus::getEnvOrDefaultKC (const char *VarName, KernelCloneOption Default)
 
llvm::StringMap< const CodeGenerationConfigproteus::parseJSONConfig (std::optional< std::string > JSONFn)
 

Macro Definition Documentation

◆ PROTEUS_TIMER_OUTPUT

#define PROTEUS_TIMER_OUTPUT (   x)
Value:
if (::proteus::Config::get().ProteusEnableTimers) \
x;
static Config & get()
Definition Config.h:334