From: Peter Zotov <whitequark@whitequark.org>
To: <caml-list@inria.fr>
Subject: Re: [Caml-list] LLVM OCaml bindings
Date: Tue, 05 Nov 2013 15:32:57 +0400 [thread overview]
Message-ID: <523e06f6b965a40b16bc8fe69a88e339@whitequark.org> (raw)
In-Reply-To: <5278D1D1.4060009@gmail.com>
Jacques-Pascal Deplaix писал 05.11.2013 15:09:
> Hi,
>
> So now I have again my own binding that produces LLVM-IR but this time
> with the same interface than the official binding, and it works pretty
> well [4].
The problem is that just generating LLVM IR is often not enough.
All of the below cannot be achieved without a proper binding:
1) JIT,
2) Querying the backend for sizes of structures, legal integral types,
3) Native code generation without shelling out.
Generally, you can do very much with LLVM by shelling out to its
plenthora
of command-line tools, but I find the in-process solution cleaner.
You can get sensible error messages instead of segfaults by using
a Debug+Asserts or Release+Asserts build of LLVM. The builds packaged
in Debian, opam, etc are usually built without asserts.
I'll probably release LLVM 3.4 bindings on opam and they will feature
asserts on by default.
> [2]: I have done several issues on the LLVM bug tracker, but apart
> from
> segfaults and bugs when trying to use LLVM_bitwriter, the missed
> feature
> is, IMHO, the possibility to get a string that contains the LLVM-IR
> code, and not just print it.
This will be included in upcoming 3.4 release. I will be happy to hear
(and likely implement) what else do you miss.
> [3]: https://github.com/jpdeplaix/cervoise/blob/jeSuisFou/src/LLVM.mli
> [4]: https://github.com/jpdeplaix/cervoise/blob/master/src/LLVM.ml
>
> On 11/05/2013 05:23 AM, Peter Zotov wrote:
>> Hello folks,
>>
>> I'm currently working on improving LLVM's OCaml bindings.
>> There's been quite some progress so far[1]; the only major
>> areas pending are AOT code generation and MCJIT support.
>>
>> I would be very interested to hear how are you using these
>> bindings, or suggestions for future development. In particular,
>> I'd like to understand the impact of breaking the API.
>>
>> [1]:
>> https://github.com/llvm-mirror/llvm/commits/master/bindings/ocaml
>>
--
WBR, Peter Zotov.
next prev parent reply other threads:[~2013-11-05 11:32 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-05 4:23 Peter Zotov
2013-11-05 8:12 ` Gabriel Kerneis
2013-11-05 8:18 ` Peter Zotov
2013-11-05 11:09 ` Jacques-Pascal Deplaix
2013-11-05 11:32 ` Peter Zotov [this message]
2013-11-05 21:00 ` Jeff Meister
2013-11-06 7:19 ` Peter Zotov
2013-11-06 7:54 ` Jeff Meister
2013-11-05 21:30 ` Jacques-Pascal Deplaix
2013-11-06 7:06 ` Peter Zotov
2013-11-08 9:36 ` Jon Harrop
2013-11-08 10:18 ` Peter Zotov
2013-11-08 11:31 ` Jon Harrop
2013-11-08 11:44 ` Peter Zotov
2013-11-12 3:44 ` Jeff Meister
2013-11-12 14:13 ` Peter Zotov
2013-11-13 19:00 ` Jon Harrop
2013-11-14 16:06 ` Hongbo Zhang
2013-11-14 19:29 ` Jeff Meister
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=523e06f6b965a40b16bc8fe69a88e339@whitequark.org \
--to=whitequark@whitequark.org \
--cc=caml-list@inria.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox