1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-01 08:23:21 +01:00
Commit Graph

152 Commits

Author SHA1 Message Date
Torok Edwin
2acdd67db2 Fix OCaml bindings crash, PR8847.
See http://caml.inria.fr/mantis/view.php?id=4166
If we call only external functions from a module, then its 'let _' bindings
don't get executed, which means that the exceptions don't get registered for use
in the C code.
This in turn causes llvm_raise to call raise_with_arg() with a NULL pointer and
cause a segmentation fault.

The workaround is to declare all 'external' functions as 'val' in these .mli
files.

Also added a separate testcase (the testcase must call only external functions
for the bug to occur).

llvm-svn: 122497
2010-12-23 15:49:26 +00:00
Eric Christopher
4d10241635 Try to fix ocaml bindings.
llvm-svn: 116021
2010-10-08 00:36:21 +00:00
Duncan Sands
2b3ed03649 Remove the Ada bindings which are unmaintained and unused. The project which
was the main putative user of the binding is actually maintaining its own
different binding, see http://git.ada.cx/cgi-bin/cgit.cgi/draco.git/

llvm-svn: 113960
2010-09-15 08:17:10 +00:00
Dale Johannesen
b3df2ff13d Add X86 MMX type to bitcode and Type.
(The Ada bindings probably need it too, but all the
obvious places to change say "do not edit this file".)

llvm-svn: 113618
2010-09-10 20:55:01 +00:00
Benjamin Kramer
4c15ccc237 Remove unions from the ocaml bindings.
llvm-svn: 112363
2010-08-28 09:47:42 +00:00
Bill Wendling
9e3d8d1a60 - Add the LinkerPrivateWeakDefAutoLinkage to the Ada bindings.
- Support the LinkerWeak*Linkage types in llvm-nm and in LinkModules.cpp.

llvm-svn: 111952
2010-08-24 20:00:52 +00:00
Bob Wilson
20b6ec47d1 Fix a typo.
llvm-svn: 111627
2010-08-20 14:54:37 +00:00
Erick Tryzelaar
68c31295f7 Expose LLVMSetOperand and LLVMGetNumOperands to llvm-c and ocaml.
llvm-svn: 111625
2010-08-20 14:51:22 +00:00
Erick Tryzelaar
429605f7cc Fix arguments to ocaml's llvm_params.
Thanks to Jianzhou Zhao for finding this.

llvm-svn: 111624
2010-08-20 14:51:16 +00:00
Bill Wendling
90b6422f2f Implement the "linker_private_weak" linkage type. This will be used for
Objective-C metadata types which should be marked as "weak", but which the
linker will remove upon final linkage. However, this linkage isn't specific to
Objective-C.

For example, the "objc_msgSend_fixup_alloc" symbol is defined like this:

      .globl l_objc_msgSend_fixup_alloc
      .weak_definition l_objc_msgSend_fixup_alloc
      .section __DATA, __objc_msgrefs, coalesced
      .align 3
l_objc_msgSend_fixup_alloc:
       .quad   _objc_msgSend_fixup
       .quad   L_OBJC_METH_VAR_NAME_1

This is different from the "linker_private" linkage type, because it can't have
the metadata defined with ".weak_definition".

Currently only supported on Darwin platforms.

llvm-svn: 107433
2010-07-01 21:55:59 +00:00
Bill Wendling
59ef9bcc6d Revert r107205 and r107207.
llvm-svn: 107215
2010-06-29 22:34:52 +00:00
Bill Wendling
05a4c0b1f2 Introducing the "linker_weak" linkage type. This will be used for Objective-C
metadata types which should be marked as "weak", but which the linker will
remove upon final linkage. For example, the "objc_msgSend_fixup_alloc" symbol is
defined like this:

       .globl l_objc_msgSend_fixup_alloc
       .weak_definition l_objc_msgSend_fixup_alloc
       .section __DATA, __objc_msgrefs, coalesced
       .align 3
l_objc_msgSend_fixup_alloc:
        .quad   _objc_msgSend_fixup
        .quad   L_OBJC_METH_VAR_NAME_1

This is different from the "linker_private" linkage type, because it can't have
the metadata defined with ".weak_definition".

llvm-svn: 107205
2010-06-29 21:24:00 +00:00
Chris Lattner
caf521c6b4 add attributes and module level asm to the ocaml bindings,
patch by Patrick Walton!

llvm-svn: 100932
2010-04-10 17:52:58 +00:00
Erick Tryzelaar
0e12fd5fc2 Add OCaml tutorial to the examples.
llvm-svn: 97966
2010-03-08 19:32:27 +00:00
Erick Tryzelaar
a71d3b252d Add a LLVMWriteBitcodeToFD that exposes the raw_fd_ostream options.
llvm-svn: 97858
2010-03-06 00:30:06 +00:00
Erick Tryzelaar
0b21835716 Expose the rest of the llvm-c scalar opts to ocaml.
llvm-svn: 97685
2010-03-03 23:51:34 +00:00
Erick Tryzelaar
c99098f20d Rename some ocaml functions.
llvm-svn: 97684
2010-03-03 23:51:30 +00:00
Erick Tryzelaar
d513bd7f7d Expose the external functions for ocaml's execution engine as an optimization.
llvm-svn: 97683
2010-03-03 23:51:28 +00:00
Erick Tryzelaar
2825c880af Expose alignment and stack alignment attributes to llvm-c and ocaml.
llvm-svn: 97682
2010-03-03 23:51:25 +00:00
Erick Tryzelaar
9a8b7c41c3 Use the ocaml tag 0 since we are just returning an option value.
llvm-svn: 97612
2010-03-02 23:59:08 +00:00
Erick Tryzelaar
481b9b1d9f Don't use an ocaml keyword in an ocamldoc comment.
llvm-svn: 97611
2010-03-02 23:59:05 +00:00
Erick Tryzelaar
99a0f1ebff Expose the optimization level for the jit in ocaml.
llvm-svn: 97610
2010-03-02 23:59:03 +00:00
Erick Tryzelaar
f04f234444 Remove module providers from ocaml.
llvm-svn: 97609
2010-03-02 23:59:00 +00:00
Erick Tryzelaar
0b0e6ace2c Add support for use to ocaml.
llvm-svn: 97586
2010-03-02 20:32:32 +00:00
Erick Tryzelaar
264323d31e Add support getting the operands of a User to ocaml.
llvm-svn: 97414
2010-02-28 20:45:03 +00:00
Erick Tryzelaar
ff1a75de6d Add support for global aliases to ocaml.
llvm-svn: 97413
2010-02-28 20:44:58 +00:00
Erick Tryzelaar
c0bff2bbc9 Add support for inserting inline asm to ocaml.
llvm-svn: 97412
2010-02-28 20:44:53 +00:00
Erick Tryzelaar
7d687cbb84 Add support for getting a null pointer.
llvm-svn: 97380
2010-02-28 09:46:27 +00:00
Erick Tryzelaar
17cb74d29a Add a way to look up a type by it's name in a module.
llvm-svn: 97379
2010-02-28 09:46:21 +00:00
Erick Tryzelaar
ab9a70c845 Add replace_all_uses_with to ocaml.
llvm-svn: 97378
2010-02-28 09:46:16 +00:00
Erick Tryzelaar
c6e78e3503 Add support for global variables in an address space for llvm-c and ocaml.
llvm-svn: 97377
2010-02-28 09:46:13 +00:00
Erick Tryzelaar
08d9f8e8fe Add indirect br support to llvm-c and ocaml.
llvm-svn: 97376
2010-02-28 09:46:06 +00:00
Erick Tryzelaar
9401ea01cc Add metadata functions to llvm-c and ocaml.
llvm-svn: 97375
2010-02-28 09:45:59 +00:00
Erick Tryzelaar
f7bbb83b17 Add the new builder arthmetic instructions to llvm-c and ocaml.
llvm-svn: 97372
2010-02-28 05:51:43 +00:00
Erick Tryzelaar
9c6bd15491 Add the new union arthmetic instructions to llvm-c and ocaml.
llvm-svn: 97371
2010-02-28 05:51:33 +00:00
Erick Tryzelaar
6aacf8ecde Fix incorrect uses of an ocaml llbuilder without extracting it from ocaml.
llvm-svn: 97368
2010-02-28 05:51:16 +00:00
Erick Tryzelaar
5baff36f22 Remove malloc and free from the ocaml bindings.
llvm-svn: 97367
2010-02-28 05:51:09 +00:00
Jeffrey Yasskin
9093c94bbe Fix the ocaml bindings for the bitcode reader.
llvm_get_module_provider() was returning a value of the wrong type.

llvm-svn: 97290
2010-02-27 00:25:18 +00:00
Erick Tryzelaar
f6e2c05ad6 Fix some ocaml documentation
llvm-svn: 96323
2010-02-16 03:45:17 +00:00
Chris Lattner
fbda857b5c fix llvm_build_struct_gep for PR6167, patch by
Peter Hawkins!

llvm-svn: 95644
2010-02-09 01:39:46 +00:00
Jakob Stoklund Olesen
83ebc265b3 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.

llvm-svn: 95466
2010-02-06 01:16:28 +00:00
Chris Lattner
1e19ffa26d This corrects an error in the type of the Llvm.dispose_context function.
Patch by James Woodyatt!

llvm-svn: 94343
2010-01-24 00:25:09 +00:00
Erick Tryzelaar
562dfbef93 Fix bug 5992: O'Caml's llvm_create_module was treating the context as a string.
Thanks Andy Ray for catching this!

llvm-svn: 93588
2010-01-15 23:49:16 +00:00
Eric Christopher
3c5d9dc0e3 Remove the InlineHint attribute. There are no current or planned
users.

llvm-svn: 93558
2010-01-15 21:36:30 +00:00
Bob Wilson
93f8ae1d35 Fix another parallel make race condition.
llvm-svn: 91709
2009-12-18 20:12:14 +00:00
Erick Tryzelaar
e59452b328 Expose the rest of the attribute settings.
llvm-svn: 82965
2009-09-28 04:42:47 +00:00
Erick Tryzelaar
9212efe029 Fix a bug in ocaml bindings that has incorrect linkage options.
llvm-svn: 82964
2009-09-28 04:42:36 +00:00
Erick Tryzelaar
cd5ce50e17 Expose initializing the native target for the execution engine.
llvm-svn: 81800
2009-09-14 21:54:32 +00:00
Bob Wilson
5e2c59df82 Fix pr4820: Don't run llvm-config during "make clean" since it may have
already been removed.

llvm-svn: 81547
2009-09-11 18:42:18 +00:00
Erick Tryzelaar
af1b2037d3 Fix header comment for bindings/ocaml/llvm/Makefile.
llvm-svn: 80526
2009-08-30 23:41:20 +00:00