Proteus
Programmable JIT compilation and optimization for C/C++ using LLVM
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
proteus::CppJitArtifact Struct Reference

#include <CppJitCompiler.h>

Public Types

enum class  Kind { SharedLibrary , DeviceBinary , LLVMIR }
 

Public Member Functions

 CppJitArtifact (CppJitArtifact &&)
 
CppJitArtifactoperator= (CppJitArtifact &&)
 
 ~CppJitArtifact ()
 

Static Public Member Functions

static CppJitArtifact sharedLibrary (std::string Path)
 
static CppJitArtifact deviceBinary (std::unique_ptr< llvm::MemoryBuffer > Obj)
 
static CppJitArtifact llvmIR (std::unique_ptr< llvm::LLVMContext > Ctx, std::unique_ptr< llvm::Module > Mod)
 

Public Attributes

Kind ArtifactKind
 
std::string Path
 
std::unique_ptr< llvm::MemoryBuffer > ObjectBuffer
 
std::unique_ptr< llvm::LLVMContext > Ctx
 
std::unique_ptr< llvm::Module > Mod
 

Member Enumeration Documentation

◆ Kind

enum class proteus::CppJitArtifact::Kind
strong
Enumerator
SharedLibrary 
DeviceBinary 
LLVMIR 

Constructor & Destructor Documentation

◆ CppJitArtifact()

proteus::CppJitArtifact::CppJitArtifact ( CppJitArtifact &&  )
default

◆ ~CppJitArtifact()

proteus::CppJitArtifact::~CppJitArtifact ( )

Member Function Documentation

◆ deviceBinary()

CppJitArtifact proteus::CppJitArtifact::deviceBinary ( std::unique_ptr< llvm::MemoryBuffer >  Obj)
static

◆ llvmIR()

CppJitArtifact proteus::CppJitArtifact::llvmIR ( std::unique_ptr< llvm::LLVMContext >  Ctx,
std::unique_ptr< llvm::Module >  Mod 
)
static

◆ operator=()

CppJitArtifact & proteus::CppJitArtifact::operator= ( CppJitArtifact &&  )
default

◆ sharedLibrary()

CppJitArtifact proteus::CppJitArtifact::sharedLibrary ( std::string  Path)
static

Member Data Documentation

◆ ArtifactKind

Kind proteus::CppJitArtifact::ArtifactKind

◆ Ctx

std::unique_ptr<llvm::LLVMContext> proteus::CppJitArtifact::Ctx

◆ Mod

std::unique_ptr<llvm::Module> proteus::CppJitArtifact::Mod

◆ ObjectBuffer

std::unique_ptr<llvm::MemoryBuffer> proteus::CppJitArtifact::ObjectBuffer

◆ Path

std::string proteus::CppJitArtifact::Path

The documentation for this struct was generated from the following files: