|
TPDE
|
Compiler for LLVM modules. More...
#include <LLVMCompiler.hpp>
Public Member Functions | |
| virtual bool | compile_to_elf (llvm::Module &mod, std::vector< uint8_t > &buf) noexcept=0 |
| Compile the module to an object file and emit it into the buffer. | |
| virtual JITMapper | compile_and_map (llvm::Module &mod, std::function< void *(std::string_view)> resolver) noexcept=0 |
| Compile the module and map it into memory, calling resolver to resolve references to external symbols. | |
Static Public Member Functions | |
| static std::unique_ptr< LLVMCompiler > | create (const llvm::Triple &triple) noexcept |
| Create a compiler for the specified target triple; returns null if the triple is not supported. | |
Compiler for LLVM modules.
Definition at line 48 of file LLVMCompiler.hpp.
|
pure virtualnoexcept |
Compile the module and map it into memory, calling resolver to resolve references to external symbols.
This function will also register unwind information. The module might be modified during compilation.
|
pure virtualnoexcept |
Compile the module to an object file and emit it into the buffer.
The module might be modified during compilation.
|
staticnoexcept |
Create a compiler for the specified target triple; returns null if the triple is not supported.
The only supported code model is small, the only supported relocation model is PIC.