Erick Tryzelaar
19f047f5f6
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
2010-02-28 05:51:43 +00:00
Erick Tryzelaar
1940dd10dd
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
2010-02-28 05:51:33 +00:00
Erick Tryzelaar
d2b4aff4bc
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
2010-02-28 05:51:09 +00:00
Erick Tryzelaar
1430425539
Fix some ocaml documentation
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96323 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-16 03:45:17 +00:00
Jakob Stoklund Olesen
570a4a5d9c
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
2010-02-06 01:16:28 +00:00
Chris Lattner
dd7da4f368
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
2010-01-24 00:25:09 +00:00
Eric Christopher
606a1d1f59
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
2010-01-15 21:36:30 +00:00
Erick Tryzelaar
f24bfa7f79
Expose the rest of the attribute settings.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82965 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-28 04:42:47 +00:00
Erick Tryzelaar
4aee041000
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
2009-09-28 04:42:36 +00:00
Erick Tryzelaar
b02b878827
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
2009-08-19 17:32:24 +00:00
Erick Tryzelaar
5371aa2a1c
Allow passing around LLVMContext in ocaml.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79410 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-19 06:40:29 +00:00
Erick Tryzelaar
45d6ac2cc1
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
2009-08-16 23:37:03 +00:00
Erick Tryzelaar
5c1c208296
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
2009-08-16 02:20:57 +00:00
Erick Tryzelaar
1b42cfd1ca
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
2009-08-16 02:20:37 +00:00
Erick Tryzelaar
e0f8bf6cbe
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
2009-08-16 02:20:24 +00:00
Erick Tryzelaar
86c9d6b33b
Fix comment in llvm.mli.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78591 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-10 19:45:00 +00:00
Erick Tryzelaar
2b526fec6a
Fix docstring for ocaml binding's const_float.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78589 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-10 19:44:45 +00:00
Bob Wilson
32eaeca34f
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
2009-07-21 21:52:57 +00:00
Nick Lewycky
7a0370f66a
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
2009-05-30 05:06:04 +00:00
Duncan Sands
ef854af5bd
Add a getAlignOf helper for getting the ABI alignment of a
...
type as a target independent constant expression. I confess
that I didn't check that this method works as intended (though
I did test the equivalent hand-written IR a little). But what
could possibly go wrong!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72213 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-21 15:52:21 +00:00
Duncan Sands
e149e9960b
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
2009-05-06 12:21:17 +00:00
Nick Lewycky
14b9ed13e7
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
2009-04-13 07:02:32 +00:00
Gordon Henriksen
07cabf6102
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
2008-08-30 16:34:54 +00:00
Gordon Henriksen
5eca075b74
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
2008-08-17 18:44:35 +00:00
Gordon Henriksen
f068263cbc
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
2008-08-09 02:13:58 +00:00
Gordon Henriksen
21491edbf4
[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
2008-08-09 01:55:52 +00:00
Gordon Henriksen
033d778249
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
2008-03-25 16:26:51 +00:00
Gordon Henriksen
224fceb41f
Fix a typo.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48712 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-23 22:37:22 +00:00
Gordon Henriksen
4733be3893
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
2008-03-23 22:21:29 +00:00
Gordon Henriksen
dc1ce7bdc6
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
2008-03-19 01:11:35 +00:00
Gordon Henriksen
d78c0f5a72
C and Objective Caml bindings for PassManagers.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48413 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-16 04:20:44 +00:00
Gordon Henriksen
3c5da81df8
Expose Module::dump via C and Ocaml.
...
Patch by Erick Tryzelaar.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48378 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-14 23:52:53 +00:00
Gordon Henriksen
a523380c6b
Formatting improvements.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@48146 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-10 15:47:03 +00:00
Gordon Henriksen
3b646de036
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
2008-03-09 07:17:38 +00:00
Gordon Henriksen
bbf1c514bd
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
2008-03-07 19:13:06 +00:00
Gordon Henriksen
6321460440
Fix a typo in llvm.mli noticed by Alain Frisch.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45585 91177308-0d34-0410-b5e6-96231b3b80d8
2008-01-04 13:21:02 +00:00
Chris Lattner
234d529e58
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
2007-12-29 22:59:10 +00:00
Gordon Henriksen
cc0928ff22
Bindings for instruction calling conventions.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45422 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29 20:45:00 +00:00
Gordon Henriksen
a353ffa7e5
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
2007-12-27 20:13:47 +00:00
Gordon Henriksen
a09a89983b
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
2007-12-26 21:21:51 +00:00
Gordon Henriksen
1475142b93
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
2007-12-20 00:13:26 +00:00
Gordon Henriksen
404a1942e4
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
2007-12-19 22:54:12 +00:00
Gordon Henriksen
da1435f86e
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
2007-12-19 22:30:40 +00:00
Gordon Henriksen
57cebeec7b
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
2007-12-17 16:08:32 +00:00
Gordon Henriksen
1ae6135fa3
Add (very basic) bindings for ModuleProvider.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44899 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-12 01:04:30 +00:00
Gordon Henriksen
80a75bfae9
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
2007-12-10 03:18:06 +00:00
Gordon Henriksen
0465fb5663
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
2007-12-01 21:01:15 +00:00
Gordon Henriksen
2618a6c112
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
2007-10-08 18:14:39 +00:00
Gordon Henriksen
6d6203dff3
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
2007-10-08 03:45:09 +00:00
Gordon Henriksen
c84c16be9b
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
2007-10-07 17:31:42 +00:00