Dale Johannesen
1cfb958b00
Rename msasm to alignstack per review.
...
llvm-svn: 84795
2009-10-21 23:28:00 +00:00
Nick Lewycky
bb1410ea8b
Fix test/Bindings/Ocaml/vmcore.ml. When IRBuilder::CreateMalloc was removed,
...
LLVMBuildMalloc was reimplemented but with the bug that it didn't insert the
resulting instruction.
llvm-svn: 84374
2009-10-17 23:52:26 +00:00
Victor Hernandez
c7d6a8327c
Autoupgrade malloc insts to malloc calls.
...
Update testcases that rely on malloc insts being present.
Also prematurely remove MallocInst handling from IndMemRemoval and RaiseAllocations to help pass tests in this incremental step.
llvm-svn: 84292
2009-10-17 00:00:19 +00:00
Dale Johannesen
fd04c74bc0
Add an "msasm" flag to inline asm as suggested in PR 5125.
...
A little ugliness is accepted to keep the binary file format
compatible. No functional change yet.
llvm-svn: 84020
2009-10-13 20:46:56 +00:00
Chris Lattner
40cf28d6eb
add some more hooks to the C bindings, patch by Kenneth Uildriks!
...
llvm-svn: 83821
2009-10-12 04:01:02 +00:00
Dan Gohman
f919bd6651
Add C API calls for building FNeg operations. Patch by KS Sreeram!
...
llvm-svn: 83021
2009-09-28 21:51:41 +00:00
Victor Hernandez
e6ff7662b6
Revert 82694 "Auto-upgrade malloc instructions to malloc calls." because it causes regressions in the nightly tests.
...
llvm-svn: 82784
2009-09-25 18:11:52 +00:00
Victor Hernandez
46cd467310
Auto-upgrade malloc instructions to malloc calls.
...
Reviewed by Devang Patel.
llvm-svn: 82694
2009-09-24 17:47:49 +00:00
Dan Gohman
e4ca02da1b
Revert 80959. It isn't sufficient to solve the full problem. And it
...
introduced regressions in the Ocaml bindings tests.
llvm-svn: 80969
2009-09-03 23:34:49 +00:00
Dan Gohman
2a53b30f6d
Remove the API for creating ConstantExprs with the nsw, nuw, inbounds,
...
and exact flags. Because ConstantExprs are uniqued, creating an
expression with this flag causes all expressions with the same operands
to have the same flag, which may not be safe. Add, sub, mul, and sdiv
ConstantExprs are usually folded anyway, so the main interesting flag
here is inbounds, and the constant folder already knows how to set the
inbounds flag automatically in most cases, so there isn't an urgent need
for the API support.
This can be reconsidered in the future, but for now just removing these
API bits eliminates a source of potential trouble with little downside.
llvm-svn: 80959
2009-09-03 22:17:40 +00:00
Sandeep Patel
68c5f477fa
Retype from unsigned to CallingConv::ID accordingly. Approved by Bob Wilson.
...
llvm-svn: 80773
2009-09-02 08:44:58 +00:00
Erick Tryzelaar
dd99135721
Expose creating constant ints and floats from strings in llvm-c.
...
llvm-svn: 79213
2009-08-16 23:36:46 +00:00
Erick Tryzelaar
9813beadcd
Add an llvm-c function that lets you insert an instruction with a name.
...
llvm-svn: 79163
2009-08-16 02:20:57 +00:00
Erick Tryzelaar
4cc690cce4
Expose most of the Constant creation functions to llvm-c.
...
llvm-svn: 79160
2009-08-16 02:20:12 +00:00
Erick Tryzelaar
3045b8b5d6
Expose most of the rest of IRBuilder's functions to llvm-c.
...
llvm-svn: 79159
2009-08-16 02:19:59 +00:00
Erick Tryzelaar
262332f24b
Expose LLVMContext to llvm-c.
...
llvm-svn: 78964
2009-08-14 00:01:31 +00:00
Owen Anderson
a42ac6953b
Actually privatize a IntegerTypes, and fix a few bugs exposed by this.
...
llvm-svn: 78955
2009-08-13 23:27:32 +00:00
Owen Anderson
55f1c09e31
Push LLVMContexts through the IntegerType APIs.
...
llvm-svn: 78948
2009-08-13 21:58:54 +00:00
Daniel Dunbar
84f399103b
Don't search the entire type table just to delete a type by name.
...
- This also fixes the ENABLE_EXPENSIVE_CHECKS failure on vmcore.ml.
llvm-svn: 78287
2009-08-06 06:04:35 +00:00
Owen Anderson
03cb69fbd1
Privatize the StructType table, which unfortunately involves routing contexts through a number of APIs.
...
llvm-svn: 78258
2009-08-05 23:16:16 +00:00
Owen Anderson
5a1acd9912
Move a few more APIs back to 2.5 forms. The only remaining ones left to change back are
...
metadata related, which I'm waiting on to avoid conflicting with Devang.
llvm-svn: 77721
2009-07-31 20:28:14 +00:00
Owen Anderson
b292b8ce70
Move more code back to 2.5 APIs.
...
llvm-svn: 77635
2009-07-30 23:03:37 +00:00
Owen Anderson
4056ca9568
Move types back to the 2.5 API.
...
llvm-svn: 77516
2009-07-29 22:17:13 +00:00
Owen Anderson
487375e9a2
Move ConstantExpr to 2.5 API.
...
llvm-svn: 77494
2009-07-29 18:55:55 +00:00
Owen Anderson
4aa3295a65
Return ConstantVector to 2.5 API.
...
llvm-svn: 77366
2009-07-28 21:19:26 +00:00
Owen Anderson
c2c7932c64
Change ConstantArray to 2.5 API.
...
llvm-svn: 77347
2009-07-28 18:32:17 +00:00
Owen Anderson
45308b578b
Move ConstantStruct back to 2.5 API.
...
llvm-svn: 77266
2009-07-27 22:29:26 +00:00
Owen Anderson
69c464dec4
Move ConstantFP construction back to the 2.5-ish API.
...
llvm-svn: 77247
2009-07-27 20:59:43 +00:00
Daniel Dunbar
9813b0b025
Eliminate some uses of DOUT, cerr, and getNameStart().
...
llvm-svn: 77145
2009-07-26 07:49:05 +00:00
Owen Anderson
edb4a70325
Revert the ConstantInt constructors back to their 2.5 forms where possible, thanks to contexts-on-types. More to come.
...
llvm-svn: 77011
2009-07-24 23:12:02 +00:00
Bill Wendling
2dd0bf8db0
Change the casting of linkage types into a map. This makes this much more robust
...
as it no longer depends upon two different enums being kept in sync with each
other.
llvm-svn: 76465
2009-07-20 20:34:46 +00:00
Daniel Dunbar
bfc2d8e5de
Fix compiler warning (for -Asserts).
...
llvm-svn: 76110
2009-07-16 22:06:22 +00:00
Chris Lattner
dac44ec99b
Update the C bindings to keep the LLVMTypeKind up to date between the C/C++
...
stuff. Patch by Zoltan Varga!
llvm-svn: 75842
2009-07-15 22:00:31 +00:00
Torok Edwin
fbcc663cbf
llvm_unreachable->llvm_unreachable(0), LLVM_UNREACHABLE->llvm_unreachable.
...
This adds location info for all llvm_unreachable calls (which is a macro now) in
!NDEBUG builds.
In NDEBUG builds location info and the message is off (it only prints
"UREACHABLE executed").
llvm-svn: 75640
2009-07-14 16:55:14 +00:00
Torok Edwin
56d0659726
assert(0) -> LLVM_UNREACHABLE.
...
Make llvm_unreachable take an optional string, thus moving the cerr<< out of
line.
LLVM_UNREACHABLE is now a simple wrapper that makes the message go away for
NDEBUG builds.
llvm-svn: 75379
2009-07-11 20:10:48 +00:00
Owen Anderson
a771459bb1
Push LLVMContext _back_ through IRBuilder.
...
llvm-svn: 75040
2009-07-08 20:50:47 +00:00
Owen Anderson
b17f32945f
Switch GlobalVariable ctors to a sane API, where *either* a context or a module is required.
...
llvm-svn: 75025
2009-07-08 19:03:57 +00:00
Owen Anderson
5948fdf68b
Push LLVMContext through GlobalVariables and IRBuilder.
...
llvm-svn: 74985
2009-07-08 01:26:06 +00:00
Owen Anderson
8ec8c97f81
LLVMContext-ifiy the implementation of the C API.
...
llvm-svn: 74950
2009-07-07 21:33:58 +00:00
Chris Lattner
7f31824a44
Add two new accessors to the C bindings, patch by Wladimir van der Laan!
...
llvm-svn: 74836
2009-07-06 17:29:59 +00:00
Owen Anderson
31d44e4904
Restore other bits of the C API that I tore up. All pre-existing APIs default to using the
...
default global context, while new *InContext() APIs have been added that take a LLVMContextRef parameter.
Apologies to anyone affected by this breakage.
llvm-svn: 74694
2009-07-02 07:17:57 +00:00
Owen Anderson
f7691d398d
Add a C wrapper for accessing the global default context.
...
llvm-svn: 74675
2009-07-02 00:16:38 +00:00
Owen Anderson
1cf085d558
Hold the LLVMContext by reference rather than by pointer.
...
llvm-svn: 74640
2009-07-01 21:22:36 +00:00
Owen Anderson
6773d388aa
Add a pointer to the owning LLVMContext to Module. This requires threading LLVMContext through a lot
...
of the bitcode reader and ASM parser APIs, as well as supporting it in all of the tools.
Patches for Clang and LLVM-GCC to follow.
llvm-svn: 74614
2009-07-01 16:58:40 +00:00
Duncan Sands
d334aca93f
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!
llvm-svn: 72213
2009-05-21 15:52:21 +00:00
Duncan Sands
7374a0118d
OCaml parameter attribute bindings from PR2752.
...
Incomplete, but better than nothing.
llvm-svn: 71081
2009-05-06 12:21:17 +00:00
Gordon Henriksen
29e3894e7d
C bindings for dyn_cast_or_null.
...
This operation can be used to build dyn_cast, isa, and cast.
llvm-svn: 61252
2008-12-19 18:39:45 +00:00
Chris Lattner
3d1f552643
This adds some missing functions to the C binding:
...
- ability to insert previously created instructions using a builder
- creation of aliases
- creation of inline asm constants
Patch by Zoltan Varga!
llvm-svn: 61153
2008-12-17 21:39:50 +00:00
Dan Gohman
d5104a5de6
Add C bindings for extractvalue and insertvalue. Patch by Frits van Bommel!
...
llvm-svn: 58650
2008-11-03 22:55:43 +00:00
Dale Johannesen
4f0bd68cfe
Add a "loses information" return value to APFloat::convert
...
and APFloat::convertToInteger. Restore return value to
IEEE754. Adjust all users accordingly.
llvm-svn: 57329
2008-10-09 23:00:39 +00:00