[llvm-dev] Improve JIT C API

Eric Christopher via llvm-dev llvm-dev at lists.llvm.org
Mon Sep 7 21:55:51 PDT 2015

On Mon, Sep 7, 2015 at 5:37 PM Lang Hames <lhames at gmail.com> wrote:

> 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.
We hadn't figured out a location. I was the one that wanted to move stable
to a new directory and Jim wanted to move unstable. I think either will
work ultimately, just a matter of personal preference in the "when do we
count restart".

That said, as long as you put a comment at the top saying that the ORC
bindings are unstable and put them in a new file I'm not opposed to just
putting them in llvm-c for now. I also don't think I'm going to win the
argument of "stable moves" so if you'd like to make a new unstable
directory I'm perfectly happy with that direction too.



> 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/20150908/cae0fe2c/attachment.html>

More information about the llvm-dev mailing list