summaryrefslogtreecommitdiffstats
path: root/llvm/include/llvm-c/OrcBindings.h
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2015-10-30 03:20:21 +0000
committerLang Hames <lhames@gmail.com>2015-10-30 03:20:21 +0000
commitfd6e8dc36948766db07f7f469c151dad01e45a1a (patch)
treee3253fb71adc8b859a23e36d2a858a5fe90d3154 /llvm/include/llvm-c/OrcBindings.h
parent9ef327c962b392eac8edb03507818d0dc11932a5 (diff)
downloadbcm5719-llvm-fd6e8dc36948766db07f7f469c151dad01e45a1a.tar.gz
bcm5719-llvm-fd6e8dc36948766db07f7f469c151dad01e45a1a.zip
[Orc] Expose the compile callback API through the C bindings.
llvm-svn: 251683
Diffstat (limited to 'llvm/include/llvm-c/OrcBindings.h')
-rw-r--r--llvm/include/llvm-c/OrcBindings.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/llvm/include/llvm-c/OrcBindings.h b/llvm/include/llvm-c/OrcBindings.h
index 6b7284adb31..78a7bc146ee 100644
--- a/llvm/include/llvm-c/OrcBindings.h
+++ b/llvm/include/llvm-c/OrcBindings.h
@@ -35,6 +35,8 @@ typedef uint32_t LLVMOrcModuleHandle;
typedef uint64_t LLVMOrcTargetAddress;
typedef uint64_t (*LLVMOrcSymbolResolverFn)(const char *Name,
void *LookupCtx);
+typedef uint64_t (*LLVMOrcLazyCompileCallbackFn)(LLVMOrcJITStackRef JITStack,
+ void *CallbackCtx);
/**
* Create an ORC JIT stack.
@@ -62,6 +64,28 @@ void LLVMOrcGetMangledSymbol(LLVMOrcJITStackRef JITStack, char **MangledSymbol,
void LLVMOrcDisposeMangledSymbol(char *MangledSymbol);
/**
+ * Create a lazy compile callback.
+ */
+LLVMOrcTargetAddress
+LLVMOrcCreateLazyCompileCallback(LLVMOrcJITStackRef JITStack,
+ LLVMOrcLazyCompileCallbackFn Callback,
+ void *CallbackCtx);
+
+/**
+ * Create a named indirect call stub.
+ */
+void LLVMOrcCreateIndirectStub(LLVMOrcJITStackRef JITStack,
+ const char *StubName,
+ LLVMOrcTargetAddress InitAddr);
+
+/**
+ * Set the pointer for the given indirect stub.
+ */
+void LLVMOrcSetIndirectStubPointer(LLVMOrcJITStackRef JITStack,
+ const char *StubName,
+ LLVMOrcTargetAddress NewAddr);
+
+/**
* Add module to be eagerly compiled.
*/
LLVMOrcModuleHandle
OpenPOWER on IntegriCloud