[PATCH] D108535: Implemented LLVMOrcCreateDynamicLibararySearchGeneratorForPath and LLVMOrcCreateStaticLibrarySearchGeneratorForPath for C -API.

Lang Hames via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 27 02:50:33 PDT 2021


lhames added a comment.

Hi Tommi,

Thanks very much for working on these!

The pre-built archive and dylib are causing test failures on non-Darwin platforms. I haven't checked whether there's an easy way to build static and dynamic libraries from source for these tests. If there is then you should use that, but if not I'm ok with these APIs going in with an OrcV2Examples example and a TODO, rather than unit tests.



================
Comment at: llvm/include/llvm-c/Orc.h:941-943
+LLVMErrorRef LLVMOrcCreateDynamicLibrarySearchGeneratorForPath(
+    LLVMOrcDefinitionGeneratorRef *Result, const char *FileName,
+    char GlobalPrefix, LLVMOrcSymbolPredicate Filter, void *FilterCtx);
----------------
Could you add a note that this API is experimental, and likely to change in the near future?

(The basic concept is stable, but I think we might want to revisit how filters work to make them more efficient)


================
Comment at: llvm/include/llvm-c/Orc.h:956-958
+LLVMErrorRef LLVMOrcCreateStaticLibrarySearchGeneratorForPath(
+    LLVMOrcDefinitionGeneratorRef *Result, LLVMOrcObjectLayerRef ObjLayer,
+    const char *FileName, const char *TargetTriple);
----------------
Could you also add a note that this API is experimental and subject to change?

We're in the process of tightening integration between ExecutionSession and ExecutorProcessControl. I think we can already look through the chain ObjLayer -> ExecutionSession -> ExecutorProcessControl to find the triple, but I'm not sure if that's set reliably in all cases. Once it is we will be able to drop the TargetTriple argument here.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D108535/new/

https://reviews.llvm.org/D108535



More information about the llvm-commits mailing list