aboutsummaryrefslogtreecommitdiffstats
path: root/bindings/ocaml/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Remove a duplicative binding. Patch by Mahadevan R.Gordon Henriksen2008-05-191-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51238 91177308-0d34-0410-b5e6-96231b3b80d8
* Merge LLVMBuilder and FoldingBuilder, callingDuncan Sands2008-04-131-1/+1
| | | | | | | the result IRBuilder. Patch by Dominic Hamon. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49604 91177308-0d34-0410-b5e6-96231b3b80d8
* Extend the builder interface to use the new instruction positioning code.Gordon Henriksen2008-03-253-36/+130
| | | | | | | | | | | 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
* Another typo.Gordon Henriksen2008-03-231-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48713 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo.Gordon Henriksen2008-03-231-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48712 91177308-0d34-0410-b5e6-96231b3b80d8
* Objective Caml bindings for basic block, function, global, and arg iterators.Gordon Henriksen2008-03-233-12/+441
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48711 91177308-0d34-0410-b5e6-96231b3b80d8
* C and Objective Caml bindings for the various getParent methods of the IR.Gordon Henriksen2008-03-193-20/+65
| | | | | | Based on Erick Tryzelaar's patch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48523 91177308-0d34-0410-b5e6-96231b3b80d8
* C and Objective Caml bindings for PassManagers.Gordon Henriksen2008-03-163-0/+106
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48413 91177308-0d34-0410-b5e6-96231b3b80d8
* Expose Module::dump via C and Ocaml.Gordon Henriksen2008-03-142-0/+7
| | | | | | Patch by Erick Tryzelaar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48379 91177308-0d34-0410-b5e6-96231b3b80d8
* Expose Module::dump via C and Ocaml.Gordon Henriksen2008-03-141-0/+4
| | | | | | Patch by Erick Tryzelaar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48378 91177308-0d34-0410-b5e6-96231b3b80d8
* Formatting improvements.Gordon Henriksen2008-03-101-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48146 91177308-0d34-0410-b5e6-96231b3b80d8
* This patch cleans up the OCaml bindings so that they format nicely withGordon Henriksen2008-03-092-289/+318
| | | | | | | | 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
* Cleanup some comments in the OCaml bindings.Gordon Henriksen2008-03-073-3/+3
| | | | | | Patch by Erick Tryzelaar. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48014 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a typo in llvm.mli noticed by Alain Frisch.Gordon Henriksen2008-01-041-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45585 91177308-0d34-0410-b5e6-96231b3b80d8
* Trying r45451 again, but this time warning-free on 3.10.x.Gordon Henriksen2007-12-301-0/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45452 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove some lines that are nonportable to Ocaml 3.06.Gordon Henriksen2007-12-301-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45451 91177308-0d34-0410-b5e6-96231b3b80d8
* remove attribution from a variety of miscellaneous files.Chris Lattner2007-12-293-6/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45425 91177308-0d34-0410-b5e6-96231b3b80d8
* Bindings for instruction calling conventions.Gordon Henriksen2007-12-293-0/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45422 91177308-0d34-0410-b5e6-96231b3b80d8
* remove attributions from the rest of the llvm makefiles.Chris Lattner2007-12-291-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45416 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding bindings for target triple and data layout.Gordon Henriksen2007-12-273-0/+51
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45369 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding an uninitialized builder constructor to the Ocaml bindings.Gordon Henriksen2007-12-263-9/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45362 91177308-0d34-0410-b5e6-96231b3b80d8
* C and Ocaml bindings for ExecutionEngine (i.e., the JIT compiler).Gordon Henriksen2007-12-231-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45335 91177308-0d34-0410-b5e6-96231b3b80d8
* Use a module to group calling convention values, too.Gordon Henriksen2007-12-202-10/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45236 91177308-0d34-0410-b5e6-96231b3b80d8
* Using modules to group enumerations in Ocaml bindings.Gordon Henriksen2007-12-193-163/+184
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45229 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding bindings for memory buffers and module providers. SwitchingGordon Henriksen2007-12-193-15/+117
| | | | | | 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
* C and Ocaml bindings for address spaces, for that burgeoning marketGordon Henriksen2007-12-173-5/+35
| | | | | | for Ocaml-based compilers targeting embedded devices. :) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45096 91177308-0d34-0410-b5e6-96231b3b80d8
* Add (very basic) bindings for ModuleProvider.Gordon Henriksen2007-12-123-0/+33
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44899 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding a collector name attribute to Function in the IR. These Gordon Henriksen2007-12-103-0/+34
| | | | | | | | | | | | | | | | | | | | | 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
* Fix bug in constructing Ocaml option types in the bindings.Gordon Henriksen2007-12-081-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44704 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding ocamldoc-style comments for the Ocaml bindings.Gordon Henriksen2007-12-013-50/+812
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44494 91177308-0d34-0410-b5e6-96231b3b80d8
* C and Objective Caml bindings for PHINode::addIncoming etc.Gordon Henriksen2007-10-083-6/+67
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42760 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixed downrev Ocaml compatibility.Gordon Henriksen2007-10-081-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42744 91177308-0d34-0410-b5e6-96231b3b80d8
* C and Objective Caml bindings for getFunction and getNamedGlobal. Also enhancedGordon Henriksen2007-10-083-1/+45
| | | | | | | 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
* C and Objective Caml bindings for GlobalVariable::isConstant.Gordon Henriksen2007-10-073-0/+17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42736 91177308-0d34-0410-b5e6-96231b3b80d8
* C and Objective Caml bindings for PATypeHolder.Gordon Henriksen2007-10-073-0/+44
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42713 91177308-0d34-0410-b5e6-96231b3b80d8
* Bindings for the verifier.Gordon Henriksen2007-10-061-7/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42707 91177308-0d34-0410-b5e6-96231b3b80d8
* Deleting some unnecessary glue.Gordon Henriksen2007-10-063-21/+6
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42702 91177308-0d34-0410-b5e6-96231b3b80d8
* Adopting a uniform naming convention for type constructors inGordon Henriksen2007-10-063-32/+44
| | | | | | bindings (part le deux). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42701 91177308-0d34-0410-b5e6-96231b3b80d8
* Adopting a uniform naming convention for type constructors in bindings.Gordon Henriksen2007-10-061-11/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42698 91177308-0d34-0410-b5e6-96231b3b80d8
* Adopting a uniform naming convention for constant constructors in bindings.Gordon Henriksen2007-10-063-67/+62
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42697 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding C and Ocaml bindings for ConstantExpr.Gordon Henriksen2007-10-063-9/+121
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42696 91177308-0d34-0410-b5e6-96231b3b80d8
* Wrapping Value::dump.Gordon Henriksen2007-10-063-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42668 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove debugging.Gordon Henriksen2007-09-271-4/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42385 91177308-0d34-0410-b5e6-96231b3b80d8
* Added C and Ocaml bindings for functions, basic blocks, and Gordon Henriksen2007-09-263-193/+1025
| | | | | | | | | | 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
* Incorporating review feedback for GC verifier patch.Gordon Henriksen2007-09-201-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42163 91177308-0d34-0410-b5e6-96231b3b80d8
* use typenames equivalent toGabor Greif2007-09-201-2/+2
| | | | | | | | | | | | | (u)intval, because latter are not present in older caml/mlvalues.h (e.g. 2004/07/07, 1.48.6.1) Using this as a workaround for now, until --without-ocaml works or we settle on a better solution git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42160 91177308-0d34-0410-b5e6-96231b3b80d8
* include alloca.h if available. this helps Solaris, but intnat and uintnat ↵Gabor Greif2007-09-191-1/+5
| | | | | | types are still undefined, causing errors git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42129 91177308-0d34-0410-b5e6-96231b3b80d8
* Tests of the ocaml (and thus C) bindings for constants.Gordon Henriksen2007-09-183-3/+27
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42101 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding ocaml language bindings for the vmcore and bitwriter libraries. These areGordon Henriksen2007-09-184-0/+832
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