[llvm-dev] Improve JIT C API

Lang Hames via llvm-dev llvm-dev at lists.llvm.org
Mon Sep 7 17:37:28 PDT 2015


Hi Jauhien,

A few people have requested a C API for ORC. I don't think ORC's ready for
a stable C API, but I'm not opposed to providing C bindings that will
probably be reasonably stable in practice (though with no guarantees). I've
actually already knocked up some trivial prototype bindings for Hayden
Livingston that could serve as a base (see attached).

The next question is where unstable bindings should live. Juergen, Eric,
anyone else who wants to weigh in: I looked back over the C API thread, but
I don't think we settled on a home for this kind of thing. Any thoughts? I
could see either introducing a new include directory (something along the
lines of include/llvm/llvm-c-bindings) or a new c-bindings project on
llvm.org. The former would put all LLVM developers on the hook for
maintaining the bindings, the latter would leave maintenance to users of
the bindings project, and any volunteers. I prefer the second option: I
don't think core developers should be on the hook for maintaining unstable
bindings - that kind of special treatment should be reserved for the stable
API.

Cheers,
Lang.


On Sun, Sep 6, 2015 at 1:52 PM, Jauhien Piatlicki via llvm-dev <
llvm-dev at lists.llvm.org> wrote:

> Hi all,
>
> I would like to have better C API for LLVM JIT, as I have plans to use
> it from Rust. I've sent already a patch [1] that adds possibility to
> create custom memory managers based on SectionMemoryManager using C API.
>
> What I would like to have now is a possibility to access ORC through C
> API somehow. The problem here is that ORC uses templates heavily. So I'm
> looking for any suggestions on how to better wrap its functionality for C.
>
> Also I would thank everybody who'll review my already sent patch.
>
> [1] http://reviews.llvm.org/D12607
>
> --
> Jauhien
>
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150907/c22ab50d/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OrcCBindings.tgz
Type: application/x-gzip
Size: 4105 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20150907/c22ab50d/attachment.bin>


More information about the llvm-dev mailing list