diff options
author | Lang Hames <lhames@gmail.com> | 2017-09-17 03:25:03 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2017-09-17 03:25:03 +0000 |
commit | ec30063ff313c9dffbfdc65243a87a80833d0c5b (patch) | |
tree | c17831be8f6f3c6c5e9ff826e13a453a2d1103b7 /llvm/include/llvm-c | |
parent | 4b93d23abb9f484b82ffc63e25082653335fb360 (diff) | |
download | bcm5719-llvm-ec30063ff313c9dffbfdc65243a87a80833d0c5b.tar.gz bcm5719-llvm-ec30063ff313c9dffbfdc65243a87a80833d0c5b.zip |
[ORC] Hook up the LLVMOrcAddObjectFile function in the Orc C Bindings.
This can be used to add a relocatable object to the JIT session.
llvm-svn: 313474
Diffstat (limited to 'llvm/include/llvm-c')
-rw-r--r-- | llvm/include/llvm-c/OrcBindings.h | 20 |
1 files changed, 6 insertions, 14 deletions
diff --git a/llvm/include/llvm-c/OrcBindings.h b/llvm/include/llvm-c/OrcBindings.h index 7ee39543135..abb3ac6a7f0 100644 --- a/llvm/include/llvm-c/OrcBindings.h +++ b/llvm/include/llvm-c/OrcBindings.h @@ -30,7 +30,6 @@ extern "C" { #endif typedef struct LLVMOpaqueSharedModule *LLVMSharedModuleRef; -typedef struct LLVMOpaqueSharedObjectBuffer *LLVMSharedObjectBufferRef; typedef struct LLVMOrcOpaqueJITStack *LLVMOrcJITStackRef; typedef uint32_t LLVMOrcModuleHandle; typedef uint64_t LLVMOrcTargetAddress; @@ -68,18 +67,6 @@ LLVMSharedModuleRef LLVMOrcMakeSharedModule(LLVMModuleRef Mod); void LLVMOrcDisposeSharedModuleRef(LLVMSharedModuleRef SharedMod); /** - * Get an LLVMSharedObjectBufferRef from an LLVMMemoryBufferRef. - */ -LLVMSharedObjectBufferRef -LLVMOrcMakeSharedObjectBuffer(LLVMMemoryBufferRef ObjBuffer); - -/** - * Dispose of a shared object buffer. - */ -void -LLVMOrcDisposeSharedObjectBufferRef(LLVMSharedObjectBufferRef SharedObjBuffer); - -/** * Create an ORC JIT stack. * * The client owns the resulting stack, and must call OrcDisposeInstance(...) @@ -155,10 +142,15 @@ LLVMOrcAddLazilyCompiledIR(LLVMOrcJITStackRef JITStack, /** * Add an object file. + * + * This method takes ownership of the given memory buffer and attempts to add + * it to the JIT as an object file. + * Clients should *not* dispose of the 'Obj' argument: the JIT will manage it + * from this call onwards. */ LLVMOrcErrorCode LLVMOrcAddObjectFile(LLVMOrcJITStackRef JITStack, LLVMOrcModuleHandle *RetHandle, - LLVMSharedObjectBufferRef Obj, + LLVMMemoryBufferRef Obj, LLVMOrcSymbolResolverFn SymbolResolver, void *SymbolResolverCtx); |