Peter Zotov
0c7f2977ca
[OCaml] Add Target and TargetMachine bindings to Llvm_target
...
llvm-svn: 194774
2013-11-15 02:51:57 +00:00
Peter Zotov
8a1a3bfc05
[OCaml] Refactor Llvm_target interface
...
This commit brings the module structure, argument order and
primitive names in Llvm_target in order with the rest of the bindings,
in preparation for adding TargetMachine API.
llvm-svn: 194773
2013-11-15 02:51:44 +00:00
Peter Zotov
b4fb964b99
[OCaml] Fix building of stub libraries
...
llvm-svn: 194772
2013-11-15 02:51:27 +00:00
Peter Zotov
9410f77b9f
[OCaml] Build stub OCaml libraries for all configured targets
...
This allows to only link in the needed targets, reducing binary
size and more importantly link time.
Note that this is an incomplete implementation: currently,
LLVM does not have the plumbing which would allow to conditionally
link in AsmPrinter, AsmParser and Disassembler for the targets
which support them. This should be improved in the future.
llvm-svn: 194670
2013-11-14 06:34:21 +00:00
Peter Zotov
ea5b2e7493
[OCaml] Expose LLVM's fatal error and stacktrace APIs
...
llvm-svn: 194669
2013-11-14 06:34:13 +00:00
Peter Zotov
7b321f832f
[OCaml] Dynamically link LLVM on --enable-shared builds
...
This commit significantly speeds up both bytecode and native
builds of LLVM clients (from ~20 second to sub-second link time),
and allows to invoke LLVM functions from OCaml toplevel.
The behavior for --disable-shared builds is unchanged.
llvm-svn: 194509
2013-11-12 20:55:49 +00:00
Peter Zotov
b1d1388ee3
[OCaml] Fix a typo
...
llvm-svn: 194508
2013-11-12 20:55:42 +00:00
Peter Zotov
18636a8777
[OCaml] Add missing Llvm_target functions
...
llvm-svn: 194382
2013-11-11 14:47:28 +00:00
Peter Zotov
dfa957746c
[OCaml] Accept context explicitly in Llvm_target functions
...
Llvm_target.intptr_type used to implicitly use global context. As
none of other functions in OCaml bindings do, it is changed to
accept context explicitly.
llvm-svn: 194381
2013-11-11 14:47:20 +00:00
Peter Zotov
d52cf17584
[OCaml] Make Llvm_target.DataLayout.t automatically managed
...
This breaks the API by removing Llvm_target.DataLayout.dispose.
llvm-svn: 194380
2013-11-11 14:47:11 +00:00
Peter Zotov
578267fb73
[OCaml] Impement Llvm_irreader, bindings to LLVM assembly parser
...
llvm-svn: 194138
2013-11-06 09:21:25 +00:00
Peter Zotov
d10ae6c527
[OCaml] Implement Llvm.string_of_llvalue
...
llvm-svn: 194136
2013-11-06 09:21:08 +00:00
Peter Zotov
a4b2ac4c30
[OCaml] (PR16190) Add ValueKinds for ConstantDataSequential and subclasses
...
Original patch by David Monniaux
llvm-svn: 194075
2013-11-05 12:55:43 +00:00
Peter Zotov
28f6876ecc
[OCaml] (PR16318) Add missing argument to Llvm.const_intcast
...
llvm-svn: 194065
2013-11-05 11:56:20 +00:00
Peter Zotov
ce7a91b277
[OCaml] (PR11717) Make declare_qualified_global respect address argument
...
Original patch by Jonathan Ragan-Kelley
llvm-svn: 194064
2013-11-05 11:56:13 +00:00
Peter Zotov
04a0e5050f
[OCaml] Properly tag the custom operations of Llvm.llbuilder
...
All other custom operations tags have LLVM prefix.
llvm-svn: 194058
2013-11-05 09:13:46 +00:00
Peter Zotov
a4c2a3e6b6
[OCaml] Llvm_linker: do not use external in module interface
...
Workaround for an OCaml bug:
http://caml.inria.fr/mantis/view.php?id=4166
llvm-svn: 194057
2013-11-05 09:13:39 +00:00
Peter Zotov
7fc270a171
[OCaml] implement Llvm_passmgr_builder, bindings for PassManagerBuilder
...
llvm-svn: 193968
2013-11-04 01:39:42 +00:00
Peter Zotov
0ce99d90be
[OCaml] Documentation
...
llvm-svn: 193967
2013-11-04 01:39:31 +00:00
Peter Zotov
0f22bab63f
[OCaml] Implement missing LLVMCore APIs
...
llvm-svn: 193966
2013-11-04 01:39:26 +00:00
Peter Zotov
9c601e108d
[OCaml] Formatting
...
llvm-svn: 193965
2013-11-04 01:39:18 +00:00
Peter Zotov
311548cdad
[OCaml] Implement Llvm.MemoryBuffer.{of_string,as_string}
...
llvm-svn: 193953
2013-11-03 08:27:45 +00:00
Peter Zotov
6f65440dd2
[OCaml] Fix ABI incompatibility
...
OCaml's type unit is not compatible with C's type void.
llvm-svn: 193952
2013-11-03 08:27:37 +00:00
Peter Zotov
45451cf62a
[OCaml] Implement Llvm_linker, bindings for the IR linker
...
llvm-svn: 193951
2013-11-03 08:27:32 +00:00
Peter Zotov
cbae39416f
[OCaml] Implement Llvm_vectorize bindings
...
llvm-svn: 193950
2013-11-03 08:27:22 +00:00
Peter Zotov
bc7c0d36d0
[OCaml] Llvm_target: fix typo (Int_val instead of Int64_val)
...
llvm-svn: 193948
2013-11-03 08:27:08 +00:00
Peter Zotov
3e0c21ed53
[OCaml] Llvm_scalar_opts: add missing transforms
...
llvm-svn: 193946
2013-11-03 07:54:17 +00:00
Peter Zotov
e4deac7b4a
[OCaml] Llvm_ipo: add missing transforms
...
llvm-svn: 193945
2013-11-03 07:54:08 +00:00
Sylvestre Ledru
4fe1606bb8
OCaml bindings: fix typo
...
Patch by Peter Zotov
llvm-svn: 193851
2013-11-01 02:29:13 +00:00
Sylvestre Ledru
9cd42ec214
OCaml bindings: remove unused DONT_BUILD_RELINKED from Makefiles
...
Patch by Peter Zotov
llvm-svn: 193847
2013-11-01 01:14:24 +00:00
Sylvestre Ledru
d9af1157f6
OCaml bindings: fix typo
...
Patch by Peter Zotov
llvm-svn: 193845
2013-11-01 01:10:58 +00:00
Sylvestre Ledru
a98db32b96
OCaml bindings: fix typo in documentation
...
Patch by Peter Zotov
llvm-svn: 193838
2013-11-01 00:30:02 +00:00
Sylvestre Ledru
493cd8c09b
OCaml bindings: formatting
...
This commit only changes comments and documentation in OCaml bindings. The official name of the language is OCaml, and the usage is now consistent.
Patch by Peter Zotov
llvm-svn: 193836
2013-11-01 00:26:01 +00:00
Andrew Kaylor
31be5eff33
Exposing MCJIT through C API
...
Re-submitting with fix for OCaml dependency problems (removing dependency on SectionMemoryManager when it isn't used).
Patch by Fili Pizlo
llvm-svn: 180720
2013-04-29 17:49:40 +00:00
Andrew Kaylor
25fa9db462
Fixing OCAML bindings for MCJIT
...
llvm-svn: 180232
2013-04-25 00:03:58 +00:00
Micah Villmow
8bbb758f37
Fix a build error for ocaml bindings that was introduced with the TargetData --> DataLayout changes.
...
llvm-svn: 166309
2012-10-19 20:36:22 +00:00
Micah Villmow
edb8656a3c
Fix the ocaml binding breakage from TargetData -> DataLayout changes.
...
llvm-svn: 165406
2012-10-08 17:06:25 +00:00
Micah Villmow
9cfc13d46c
Move TargetData to DataLayout.
...
llvm-svn: 165403
2012-10-08 16:39:34 +00:00
Nuno Lopes
113b8c1007
add support for ocaml 3.12
...
llvm-svn: 163096
2012-09-02 14:42:56 +00:00
Bill Wendling
bd8e5d537d
Remove tabs.
...
llvm-svn: 160482
2012-07-19 00:23:13 +00:00
Benjamin Kramer
57d2c78572
ocaml bindings: landing pad is now the last opcode.
...
llvm-svn: 149997
2012-02-07 18:58:19 +00:00
Jim Grosbach
65e2465550
Tidy up. s/Low Level Virtual Machine/LLVM/.
...
LLVM isn't an acronym anymore.
llvm-svn: 148985
2012-01-25 22:00:23 +00:00
Bob Wilson
d2a0365304
Update OCaml bindings for the new half float type.
...
Patch by Jonathan Ragan-Kelley!
llvm-svn: 147314
2011-12-28 18:51:08 +00:00
Dylan Noblesmith
9e5b178ecc
drop unneeded config.h includes
...
llvm-svn: 147197
2011-12-22 23:04:07 +00:00
Wojciech Matyjewicz
0c48772aaa
Minor fixes in Makefiles for the OCaml bindings:
...
1. Interface files (.mli) are installed before compiled interface
files (.cmi) to preserve timestamp relation.
2. install-meta should use $(OcamlDir) instead of $(ObjDir).
3. Declared some targets as .PHONY.
Patch by Christophe Raffalli.
llvm-svn: 144183
2011-11-09 12:00:39 +00:00
Torok Edwin
3e3ed6d21b
OCaml bindings: add some missing functions and testcases.
...
The C bindings exposed some APIs that weren't covered by the OCaml bindings
llvm-svn: 141997
2011-10-14 20:38:33 +00:00
Torok Edwin
c130831d1a
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.
llvm-svn: 141996
2011-10-14 20:38:24 +00:00
Torok Edwin
a33ba40206
OCaml bindings: add icmp_predicate
...
llvm-svn: 141995
2011-10-14 20:38:19 +00:00
Torok Edwin
90e6edf7c4
OCaml bindings: fix infinite recursion on string_of_lltype
...
llvm-svn: 141994
2011-10-14 20:38:14 +00:00
Torok Edwin
a02176c696
bindings: named struct support
...
llvm-svn: 141993
2011-10-14 20:38:08 +00:00