History log of /external/llvm/bindings/ocaml/llvm/llvm.ml
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
ff616cb440d696b2663d55494e0a5aedfab20726 14-Oct-2011 Torok Edwin <edwintorok@gmail.com> OCaml bindings: add some missing functions and testcases.

The C bindings exposed some APIs that weren't covered by the OCaml bindings

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141997 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
0be167bab219cb178f7a6e91186c700ad48aa047 14-Oct-2011 Torok Edwin <edwintorok@gmail.com> OCaml bindings: fix attributes to use all 32 bits

OCaml's int is limited to 31 bits on 32-bit architectures, so use Int32
explicitly.
Also add an unpack_attr, and {function,param,instr}_attr functions to read
the attributes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141996 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
8da43bf60e8c27fe69033d73d440ea147d72b06d 14-Oct-2011 Torok Edwin <edwintorok@gmail.com> OCaml bindings: add icmp_predicate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141995 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
2c4ae181c4c3d93684bb5926cd73c6b3a8370c42 14-Oct-2011 Torok Edwin <edwintorok@gmail.com> OCaml bindings: fix infinite recursion on string_of_lltype

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141994 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
6b228e506f42972c003599f4873a24910f8a530a 14-Oct-2011 Torok Edwin <edwintorok@gmail.com> bindings: named struct support

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141993 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
3dd16741864302af14b31b7f75375c09d8544a35 14-Oct-2011 Torok Edwin <edwintorok@gmail.com> ocaml bindings: introduce classify_value

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
6563c879964c3bcf5c77d40da8d4c807adf605aa 14-Oct-2011 Torok Edwin <edwintorok@gmail.com> ocaml bindings: add getopcode for constant and instruction, and int64_of_const.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141990 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
ff12c99d131789ccb9e8739963f4d8e0e95667d4 06-Oct-2011 Torok Edwin <edwintorok@gmail.com> ocaml/C bindings: type->isSized()

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141288 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
4917ec9ec775d7bc7fbc3362b4c576c32b7617f4 06-Oct-2011 Torok Edwin <edwintorok@gmail.com> add binding to read icmp predicate

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141287 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
4f661ab0fb87f97c4a12912249c3c366df882102 06-Oct-2011 Torok Edwin <edwintorok@gmail.com> ocaml/C bindings: getmdstring, add num_op, get_op should work on metadata too

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141286 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
c44943ed4f4f2d44b6668e6b51eb355f8310660c 06-Oct-2011 Torok Edwin <edwintorok@gmail.com> C/OCaml API to retrieve struct name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@141285 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
48488a64fadb2f99706029e51ae4c06fcfac5cdb 03-Oct-2011 Torok Edwin <edwintorok@gmail.com> attempt to fix ocaml bindings: landing pads

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140991 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
e1686b08e4b9c570197633afc09f4fe32d664f0d 10-Aug-2011 Peter Collingbourne <peter@pcc.me.uk> Remove the build_unwind function from the OCaml bindings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@137193 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
7c72c927c5c26806651113d9ee1dfb7aa5cb62c2 09-Jul-2011 Nick Lewycky <nicholas@mxc.ca> Update OCaml bindings. Opaque types are gone, type holders are gone and the
module operations that operate on type names are gone.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134839 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
13ba2f9714185cf93531ab51addebf63ee256e81 28-Aug-2010 Benjamin Kramer <benny.kra@googlemail.com> Remove unions from the ocaml bindings.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112363 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
f7af931930dfab74b8a72b195e53df34b4ea2480 20-Aug-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Expose LLVMSetOperand and LLVMGetNumOperands to llvm-c and ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111625 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
0941534c712d77243d9dda5e8c1d927563b4edff 10-Apr-2010 Chris Lattner <sabre@nondot.org> add attributes and module level asm to the ocaml bindings,
patch by Patrick Walton!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100932 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
4ad188ba8dde52201c16d46ec6558e32c0dd4805 04-Mar-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Expose alignment and stack alignment attributes to llvm-c and ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97682 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
16609f3c5c26ba34603ae0d7ebab86fb11a72722 03-Mar-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Remove module providers from ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
705443ffd3f67018c1ec387014262566502a9ee3 02-Mar-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Add support for use to ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97586 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
b65c5f2ec347db8342cb7e42d072b0088b74fa73 28-Feb-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Add support getting the operands of a User to ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97414 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
6ba5c56cf5b1609ec4af45f4901118865a8ed9b6 28-Feb-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Add support for global aliases to ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
ce89b4e66f7ec82b2b621c94b072f0b22827a3cd 28-Feb-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Add support for inserting inline asm to ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
5b0a7741ad262315d6365250a2da2edb8ba37e69 28-Feb-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Add support for getting a null pointer.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97380 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
d80ce75687c22e63d746d732b4e28fd5a1207a9d 28-Feb-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Add a way to look up a type by it's name in a module.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
68bab9833db8d524398f7feee1ce4bda9df320ab 28-Feb-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Add replace_all_uses_with to ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97378 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
8e130b1d0d53346e05d0a1161a52c6d62de163c4 28-Feb-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Add support for global variables in an address space for llvm-c and ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97377 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
c59286bff1cca8c4fa15f390c9002db94117614e 28-Feb-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Add indirect br support to llvm-c and ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97376 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
46c80e0c5653e11ada7cebcb46f9a8f7df758e41 28-Feb-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Add metadata functions to llvm-c and ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97375 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
19f047f5f6c44d1cd5681f9314b3ff5e7bae122d 28-Feb-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Add the new builder arthmetic instructions to llvm-c and ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97372 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
1940dd10dd6b79e3332f384756c268b85d0ad400 28-Feb-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Add the new union arthmetic instructions to llvm-c and ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97371 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
d2b4aff4bca23ff5dadf180281a74902a18fcf73 28-Feb-2010 Erick Tryzelaar <idadesub@users.sourceforge.net> Remove malloc and free from the ocaml bindings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
570a4a5d9ca31f276a67502d1e0533d59d331fea 06-Feb-2010 Jakob Stoklund Olesen <stoklund@2pi.dk> Reintroduce the InlineHint function attribute.

This time it's for real! I am going to hook this up in the frontends as well.

The inliner has some experimental heuristics for dealing with the inline hint.
When given a -respect-inlinehint option, functions marked with the inline
keyword are given a threshold just above the default for -O3.

We need some experiments to determine if that is the right thing to do.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95466 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
dd7da4f368c7e1139ef78f36ef173a8b8f8f1c61 24-Jan-2010 Chris Lattner <sabre@nondot.org> This corrects an error in the type of the Llvm.dispose_context function.
Patch by James Woodyatt!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94343 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
606a1d1f5984f20e79b0d2a2d38c121907426810 15-Jan-2010 Eric Christopher <echristo@apple.com> Remove the InlineHint attribute. There are no current or planned
users.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93558 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
f24bfa7f794300e6889191e18d79f27db2829421 28-Sep-2009 Erick Tryzelaar <idadesub@users.sourceforge.net> Expose the rest of the attribute settings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82965 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
4aee0410003d873db0d5f76c34ccba7d2d828799 28-Sep-2009 Erick Tryzelaar <idadesub@users.sourceforge.net> Fix a bug in ocaml bindings that has incorrect linkage options.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82964 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
b02b87882788e57e180c6b903a37ced0db1ce828 19-Aug-2009 Erick Tryzelaar <idadesub@users.sourceforge.net> Convert the rest of the ocaml types and functions to use context.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79430 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
5371aa2a1c9a4eeecffdb9ab7b2175732e49475b 19-Aug-2009 Erick Tryzelaar <idadesub@users.sourceforge.net> Allow passing around LLVMContext in ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79410 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
45d6ac2cc13f7881687c2d7f03f9b9892fd85e6e 17-Aug-2009 Erick Tryzelaar <idadesub@users.sourceforge.net> Expose creating constant ints and floats from strings to ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79214 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
5c1c2082968ff4c36063ed09c4eea772eb808b6a 16-Aug-2009 Erick Tryzelaar <idadesub@users.sourceforge.net> Add an llvm-c function that lets you insert an instruction with a name.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79163 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
1b42cfd1ca03e48835e8e4c91c5dbb598030257f 16-Aug-2009 Erick Tryzelaar <idadesub@users.sourceforge.net> Expose most of the Constant creation functions to ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79162 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
e0f8bf6cbe1bee904021a8ae45008e3703dde283 16-Aug-2009 Erick Tryzelaar <idadesub@users.sourceforge.net> Expose most of the IRBuilder functionality to ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79161 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
32eaeca34fe1e6080a2916e04c89874f0b273e31 21-Jul-2009 Bob Wilson <bob.wilson@apple.com> Reorder the "Metadata" entry to match the C bindings.
This fixes a regression in the vmcore.ml dejagnu test.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76657 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
7a0370f66ab5739f42ffe822f33494e0de9b182b 30-May-2009 Nick Lewycky <nicholas@mxc.ca> Give embedded metadata its own type instead of relying on EmptyStructTy.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72610 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
2f82376c485f07dd9bfd6f563f6e194843c5060c 22-May-2009 Duncan Sands <baldrick@free.fr> Hopefully fix the build for people with ocaml.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72254 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
e149e9960ba0726f4b084763f7ef95afa12d9a88 06-May-2009 Duncan Sands <baldrick@free.fr> OCaml parameter attribute bindings from PR2752.
Incomplete, but better than nothing.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@71081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
14b9ed13e79d4b8fe97e2215e7ccf095a40463fd 13-Apr-2009 Nick Lewycky <nicholas@mxc.ca> Fix ocaml bindings; add "available_externally" linkage type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
07cabf6102800aa701bc4d1bd282fafb63b8a416 30-Aug-2008 Gordon Henriksen <gordonhenriksen@mac.com> PR2731: C and Ocaml bindings for setTailCall and isTailCall.

Based on patch by Giorgos Korfiatis.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@55570 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
5eca075b74d62c621b160aa216b4cd50829a2cc7 17-Aug-2008 Gordon Henriksen <gordonhenriksen@mac.com> Rename some GC classes so that their roll will hopefully be clearer.

In particular, Collector was confusing to implementors. Several
thought that this compile-time class was the place to implement
their runtime GC heap. Of course, it doesn't even exist at runtime.
Specifically, the renames are:

Collector -> GCStrategy
CollectorMetadata -> GCFunctionInfo
CollectorModuleMetadata -> GCModuleInfo
CollectorRegistry -> GCRegistry
Function::getCollector -> getGC (setGC, hasGC, clearGC)

Several accessors and nested types have also been renamed to be
consistent. These changes should be obvious.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
f068263cbc523a3d80f08735d92b347680707aa0 09-Aug-2008 Gordon Henriksen <gordonhenriksen@mac.com> Delete a redundant binding, LLVMHasInitializer.

Please use !LLVMIsDeclaration instead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54572 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
21491edbf4027df4db559eb1a9aa8fbf3779cfab 09-Aug-2008 Gordon Henriksen <gordonhenriksen@mac.com> [PR-2610] Adding Ocaml bindings for Switch::addCase.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54571 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
033d778249e59548c495f39166a53fa80f48eb91 25-Mar-2008 Gordon Henriksen <gordonhenriksen@mac.com> Extend the builder interface to use the new instruction positioning code.

This adds support for instruction iterators, as well as rewriting the
builder code to use these new functions. This lets us eliminate the C
bindings for moving around the builder.

Patch by Erick Tryzelaar!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48774 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
4733be38930ae81716bba9ae75a8281bcb180634 23-Mar-2008 Gordon Henriksen <gordonhenriksen@mac.com> Objective Caml bindings for basic block, function, global, and arg iterators.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48711 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
dc1ce7bdc6e32e7a4c4a110caa32834730183c1b 19-Mar-2008 Gordon Henriksen <gordonhenriksen@mac.com> C and Objective Caml bindings for the various getParent methods of the IR.

Based on Erick Tryzelaar's patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48523 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
d78c0f5a7255e4347cbd82f7435c51401096652c 16-Mar-2008 Gordon Henriksen <gordonhenriksen@mac.com> C and Objective Caml bindings for PassManagers.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48413 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
af59b105bb3f9a31f1812e470eb9db28a8a1b491 15-Mar-2008 Gordon Henriksen <gordonhenriksen@mac.com> Expose Module::dump via C and Ocaml.

Patch by Erick Tryzelaar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48379 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
3b646de03668fed630f4e3fa9df56a7332a905e4 09-Mar-2008 Gordon Henriksen <gordonhenriksen@mac.com> This patch cleans up the OCaml bindings so that they format nicely with
ocamldoc. It does not yet hook into the build system, though.

Patch by Erick Tryzelaar!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48095 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
bbf1c514bd832bf1306fe3e87221fd78bbc306ef 07-Mar-2008 Gordon Henriksen <gordonhenriksen@mac.com> Cleanup some comments in the OCaml bindings.

Patch by Erick Tryzelaar.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48014 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
234d529e582963ad4b5d83b911cd057fe99d1435 29-Dec-2007 Chris Lattner <sabre@nondot.org> remove attribution from a variety of miscellaneous files.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45425 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
cc0928ff22d9f3e8f2930874f6727db8c700ec35 29-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> Bindings for instruction calling conventions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45422 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
a353ffa7e556bfd2864474911174da691117f691 27-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> Adding bindings for target triple and data layout.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45369 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
a09a89983bf51aa70d3067282e4817ec3057eb51 26-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> Adding an uninitialized builder constructor to the Ocaml bindings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45362 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
1475142b93a618da72ec471e5ad7c1510c2feb37 20-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> Use a module to group calling convention values, too.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45236 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
404a1942e43ca967700cc2608eb97b863add2677 19-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> Using modules to group enumerations in Ocaml bindings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45229 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
da1435f86ebc9886dd7704294e01d192d79e069c 19-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> Adding bindings for memory buffers and module providers. Switching
to exceptions rather than variants for error handling in Ocaml.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45226 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
57cebeec7ba08b55f29f5bf98ad0a3a17e9d0c71 17-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> C and Ocaml bindings for address spaces, for that burgeoning market
for Ocaml-based compilers targeting embedded devices. :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45096 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
1ae6135fa37eb061499d079b9b33dc82dcc1283f 12-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> Add (very basic) bindings for ModuleProvider.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44899 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
80a75bfae980df96f969f1c05b0c4a80ce975240 10-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> Adding a collector name attribute to Function in the IR. These
methods are new to Function:

bool hasCollector() const;
const std::string &getCollector() const;
void setCollector(const std::string &);
void clearCollector();

The assembly representation is as such:

define void @f() gc "shadow-stack" { ...

The implementation uses an on-the-side table to map Functions to
collector names, such that there is no overhead. A StringPool is
further used to unique collector names, which are extremely
likely to be unique per process.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44769 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
0465fb5663a0108399df4c19db1afb4516328964 01-Dec-2007 Gordon Henriksen <gordonhenriksen@mac.com> Adding ocamldoc-style comments for the Ocaml bindings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44494 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
2618a6c1122d5d2007787fb56156be44b21ab32a 08-Oct-2007 Gordon Henriksen <gordonhenriksen@mac.com> C and Objective Caml bindings for PHINode::addIncoming etc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42760 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
6d6203dff3560a2cc3ac8ec620ac3b105b0c7cc7 08-Oct-2007 Gordon Henriksen <gordonhenriksen@mac.com> C and Objective Caml bindings for getFunction and getNamedGlobal. Also enhanced
the Objective Caml 'declare_*' functions to behave more or less like
getOrInsertFunction.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42740 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
c84c16be9b29b4f805b92bfc2d93e2dfaa952f8f 07-Oct-2007 Gordon Henriksen <gordonhenriksen@mac.com> C and Objective Caml bindings for GlobalVariable::isConstant.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42736 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
1cf08fddc7413076dedad58dbb8d8d67e69a490f 07-Oct-2007 Gordon Henriksen <gordonhenriksen@mac.com> C and Objective Caml bindings for PATypeHolder.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42713 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
d8be2154b38ea623f2320b26c9e1a40be0d0206b 06-Oct-2007 Gordon Henriksen <gordonhenriksen@mac.com> Deleting some unnecessary glue.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42702 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
957f9fe1cce0957bcde4a1093da83e17aaec6764 06-Oct-2007 Gordon Henriksen <gordonhenriksen@mac.com> Adopting a uniform naming convention for type constructors in
bindings (part le deux).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42701 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
e3b989d4a4ba47f77d5d38c35ff17e9673d9f87b 06-Oct-2007 Gordon Henriksen <gordonhenriksen@mac.com> Adopting a uniform naming convention for constant constructors in bindings.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42697 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
4647569fe7706e76135a08ca0e5f90a447ccc5b4 06-Oct-2007 Gordon Henriksen <gordonhenriksen@mac.com> Adding C and Ocaml bindings for ConstantExpr.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42696 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
88cc699942f7f972ef9bc3afa1df0a44d059e1d8 06-Oct-2007 Gordon Henriksen <gordonhenriksen@mac.com> Wrapping Value::dump.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42668 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
46abf91f7378fb7bb118d66fe6d69b5d3af1e9d5 26-Sep-2007 Gordon Henriksen <gordonhenriksen@mac.com> Added C and Ocaml bindings for functions, basic blocks, and
instruction creation. No support yet for instruction introspection.

Also eliminated allocas from the Ocaml bindings for portability,
and avoided unnecessary casts.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
344be5fbecec9908bab611eafeae0549ba3be6d7 18-Sep-2007 Gordon Henriksen <gordonhenriksen@mac.com> Tests of the ocaml (and thus C) bindings for constants.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42101 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml
8ef426baa36639458f6777309db25c1768dc9c8a 18-Sep-2007 Gordon Henriksen <gordonhenriksen@mac.com> Adding ocaml language bindings for the vmcore and bitwriter libraries. These are
built atop the C language bindings, and user programs can link with them as
such:

# Bytecode
ocamlc -cc g++ llvm.cma llvmbitwriter.cma -o example example.ml
# Native
ocamlopt -cc g++ llvm.cmxa llvmbitwriter.cmxa -o example.opt example.ml

The vmcore.ml test exercises most/all of the APIs thus far bound. Unfortunately,
they're not yet numerous enough to write hello world. But:

$ cat example.ml
(* example.ml *)

open Llvm
open Llvm_bitwriter

let _ =
let filename = Sys.argv.(1) in
let m = create_module filename in

let v = make_int_constant i32_type 42 false in
let g = define_global "hello_world" v m in

if not (write_bitcode_file m filename) then exit 1;

dispose_module m;

$ ocamlc -cc g++ llvm.cma llvm_bitwriter.cma -o example example.ml
File "example.ml", line 11, characters 6-7:
Warning Y: unused variable g.
$ ./example example.bc
$ llvm-dis < example.bc
; ModuleID = '<stdin>'
@hello_world = global i32 42 ; <i32*> [#uses=0]

The ocaml test cases provide effective tests for the C interfaces.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42093 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/bindings/ocaml/llvm/llvm.ml