Eric Christopher
79cc1e3ae7
Reinstate "Nuke the old JIT."
...
Approved by Jim Grosbach, Lang Hames, Rafael Espindola.
This reinstates commits r215111, 215115, 215116, 215117, 215136.
llvm-svn: 216982
2014-09-02 22:28:02 +00:00
Peter Zotov
6617777fa7
[OCaml] Expose Llvm.get_operand_use.
...
Patch by Gabriel Radanne <drupyog@zoho.com>
llvm-svn: 215420
2014-08-12 02:55:45 +00:00
Eric Christopher
b9fd9ed37e
Temporarily Revert "Nuke the old JIT." as it's not quite ready to
...
be deleted. This will be reapplied as soon as possible and before
the 3.6 branch date at any rate.
Approved by Jim Grosbach, Lang Hames, Rafael Espindola.
This reverts commits r215111, 215115, 215116, 215117, 215136.
llvm-svn: 215154
2014-08-07 22:02:54 +00:00
Rafael Espindola
a3ddbc9d23
Fix the ocaml bindings.
...
llvm-svn: 215117
2014-08-07 14:48:13 +00:00
Peter Zotov
454b85606e
[OCaml] Add Llvm.{string_of_const,const_element}.
...
llvm-svn: 214677
2014-08-03 23:54:22 +00:00
Peter Zotov
daacd61443
[OCaml] Don't truncate constants over 32 bits in Llvm.const_int.
...
llvm-svn: 213655
2014-07-22 13:55:20 +00:00
Gerolf Hoflehner
f27ae6cdcf
MergedLoadStoreMotion pass
...
Merges equivalent loads on both sides of a hammock/diamond
and hoists into into the header.
Merges equivalent stores on both sides of a hammock/diamond
and sinks it to the footer.
Can enable if conversion and tolerate better load misses
and store operand latencies.
llvm-svn: 213396
2014-07-18 19:13:09 +00:00
Peter Zotov
00b6a9b181
[OCaml] Documentation improvements.
...
Patch by Julien Sagot
llvm-svn: 212230
2014-07-02 22:17:20 +00:00
Peter Zotov
a4af01839f
[OCaml] Documentation improvements.
...
llvm-svn: 212048
2014-06-30 16:53:53 +00:00
Peter Zotov
2b5a047956
[OCaml] Unbreak Llvm_target.TargetMachine.set_verbose_asm
...
Patch by Jacques-Pascal Deplaix
llvm-svn: 210480
2014-06-09 17:34:34 +00:00
Peter Zotov
c86d1c1e5e
[OCaml] Commit missing parts of r210395
...
llvm-svn: 210396
2014-06-07 15:53:28 +00:00
Peter Zotov
7ce15f7684
[OCaml] Introduce an llmdkind abstract type.
...
Patch by Gabriel Radanne.
While this commit technically breaks API, no code should have supplied
the integer IDs directly, and thus no code should break.
llvm-svn: 210395
2014-06-07 15:15:10 +00:00
Peter Zotov
bf8a9ac768
[OCaml] Add an ocamlfind package llvm.all_backends.
...
This package is useful for architecture-independent tools like llc.
Patch by Jacques-Pascal Deplaix.
llvm-svn: 207793
2014-05-01 21:00:52 +00:00
NAKAMURA Takumi
a5fb6a4730
Makefile.ocaml: Tweak to use --system-libs.
...
llvm-svn: 197758
2013-12-20 00:36:59 +00:00
Alp Toker
171b0c36a3
Fix documentation typos
...
llvm-svn: 197757
2013-12-20 00:33:39 +00:00
Peter Zotov
e7255da917
[OCaml] Add a slash accidentally omitted from Makefile
...
llvm-svn: 195912
2013-11-28 09:03:28 +00:00
Peter Zotov
40a5d378f6
[OCaml] Embed rpath into stub libraries and native executables
...
This commit embeds a set of linker flags with hardcoded paths to
the LLVM shared library on --enable-shared builds into .cmxa files
and stub dynamic libraries. This solution closely follows existing
rules for rpath in the LLVM tools, which had to be modified because
of differences in toolchain.
Without this patch, OCaml tests as well as opam bindings broke,
as neither of those updates LD_LIBRARY_PATH to include
the $prefix/lib directory.
llvm-svn: 195834
2013-11-27 11:03:18 +00:00
Peter Zotov
5d35f2ce03
[OCaml] Embed the flags necessary for linking with libLLVM.so into .cmxa files
...
llvm-svn: 195782
2013-11-26 20:40:34 +00:00
Peter Zotov
05c091455e
[OCaml] Unbreak make install by providing ocamldoc target
...
llvm-svn: 195336
2013-11-21 10:10:16 +00:00
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