Proteus
Programmable JIT compilation and optimization for C/C++ using LLVM
|
#include <llvm/ADT/SmallPtrSet.h>
#include <llvm/ADT/StringRef.h>
#include <llvm/Analysis/CallGraph.h>
#include <llvm/Bitcode/BitcodeWriter.h>
#include <llvm/Demangle/Demangle.h>
#include <llvm/IR/CallingConv.h>
#include <llvm/IR/Constant.h>
#include <llvm/IR/Constants.h>
#include <llvm/IR/DataLayout.h>
#include <llvm/IR/DebugInfo.h>
#include <llvm/IR/DerivedTypes.h>
#include <llvm/IR/Function.h>
#include <llvm/IR/GlobalValue.h>
#include <llvm/IR/GlobalVariable.h>
#include <llvm/IR/InstrTypes.h>
#include <llvm/IR/Instruction.h>
#include <llvm/IR/Instructions.h>
#include <llvm/IR/Mangler.h>
#include <llvm/IR/Module.h>
#include <llvm/IR/Verifier.h>
#include <llvm/Object/ELF.h>
#include <llvm/Passes/PassBuilder.h>
#include <llvm/Passes/PassPlugin.h>
#include <llvm/Support/Debug.h>
#include <llvm/Support/Error.h>
#include <llvm/Support/ErrorHandling.h>
#include <llvm/Support/FileSystem.h>
#include <llvm/Support/FileSystem/UniqueID.h>
#include <llvm/Support/MemoryBuffer.h>
#include <llvm/Support/MemoryBufferRef.h>
#include <llvm/Support/raw_ostream.h>
#include <llvm/Transforms/IPO.h>
#include <llvm/Transforms/IPO/AlwaysInliner.h>
#include <llvm/Transforms/IPO/GlobalDCE.h>
#include <llvm/Transforms/IPO/StripDeadPrototypes.h>
#include <llvm/Transforms/IPO/StripSymbols.h>
#include <llvm/Transforms/Utils/Cloning.h>
#include <llvm/Transforms/Utils/ModuleUtils.h>
#include <iostream>
#include <string>
#include "proteus/CompilerInterfaceTypes.h"
#include "proteus/Error.h"
#include "proteus/Hashing.hpp"
#include "proteus/Logger.hpp"
Macros | |
#define | DEBUG_TYPE "jitpass" |
#define | DEBUG(x) |
Functions | |
llvm::PassPluginLibraryInfo | getProteusJitPassPluginInfo () |
LLVM_ATTRIBUTE_WEAK::llvm::PassPluginLibraryInfo | llvmGetPassPluginInfo () |
Variables | |
constexpr char const * | RegisterFunctionName = nullptr |
constexpr char const * | LaunchFunctionName = nullptr |
constexpr char const * | RegisterVarName = nullptr |
constexpr char const * | RegisterFatBinaryName = nullptr |
#define DEBUG | ( | x | ) |
#define DEBUG_TYPE "jitpass" |
llvm::PassPluginLibraryInfo getProteusJitPassPluginInfo | ( | ) |
LLVM_ATTRIBUTE_WEAK::llvm::PassPluginLibraryInfo llvmGetPassPluginInfo | ( | ) |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |