Owen Anderson [Sun, 23 Sep 2007 21:31:44 +0000 (21:31 +0000)]
Factor the dominator tree calculation details out into DominatorCalculation.h. This
change is not useful in and of itself, but it lays the groundwork for combining
the dominator and postdominator implementations.
Also, factor a few methods that are common to DominatorTree and PostDominatorTree
into DominatorTreeBase. Again, this will make merging the two calculation methods
simpler in the future.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42248
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Sun, 23 Sep 2007 14:58:14 +0000 (14:58 +0000)]
Implementation of +sse -sse2 has changed; add
-sse to preserve intent of this test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42247
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Sun, 23 Sep 2007 14:52:20 +0000 (14:52 +0000)]
Fix PR 1681. When X86 target uses +sse -sse2,
keep f32 in SSE registers and f64 in x87. This
is effectively a new codegen mode.
Change addLegalFPImmediate to permit float and
double variants to do different things.
Adjust callers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42246
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sun, 23 Sep 2007 13:37:44 +0000 (13:37 +0000)]
Fix srcdir <> objdir builds with ocaml 2.10. Downrev versions don't care whether
'dir' exists in 'ocamldep -I dir ...', but recent ones demand that it actually
exists.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42245
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 22 Sep 2007 23:41:15 +0000 (23:41 +0000)]
fix syntax
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42242
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sat, 22 Sep 2007 21:36:59 +0000 (21:36 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42241
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Sat, 22 Sep 2007 21:36:22 +0000 (21:36 +0000)]
Fix for srcdir <> objdir builds.
Thanks Bill.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42240
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 22 Sep 2007 20:16:48 +0000 (20:16 +0000)]
Fix PR1679, by printing GEP indices as signed values instead of unsigned.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42239
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 22 Sep 2007 10:17:08 +0000 (10:17 +0000)]
Validation fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42232
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 22 Sep 2007 10:13:39 +0000 (10:13 +0000)]
Validation fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42231
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 22 Sep 2007 10:07:00 +0000 (10:07 +0000)]
Validation fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42230
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 22 Sep 2007 10:03:25 +0000 (10:03 +0000)]
Validation fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42229
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 22 Sep 2007 09:56:28 +0000 (09:56 +0000)]
Validation fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42228
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 22 Sep 2007 09:54:47 +0000 (09:54 +0000)]
Validation fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42227
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 22 Sep 2007 09:39:19 +0000 (09:39 +0000)]
Validation fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42226
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 22 Sep 2007 09:23:55 +0000 (09:23 +0000)]
Validation fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42225
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 22 Sep 2007 09:20:07 +0000 (09:20 +0000)]
Validation fixes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42224
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Sat, 22 Sep 2007 09:16:44 +0000 (09:16 +0000)]
Formatting changes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42223
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 22 Sep 2007 07:02:12 +0000 (07:02 +0000)]
initialize isstore/isload fields in ctor, fixing PR1695
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42222
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 22 Sep 2007 03:17:52 +0000 (03:17 +0000)]
fix bugs in the manual
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42221
91177308-0d34-0410-b5e6-
96231b3b80d8
Neil Booth [Sat, 22 Sep 2007 02:56:19 +0000 (02:56 +0000)]
Handle storage complications of float->float conversions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42220
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Sat, 22 Sep 2007 00:03:01 +0000 (00:03 +0000)]
Correct names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42219
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Sat, 22 Sep 2007 00:01:26 +0000 (00:01 +0000)]
Fix typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42217
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Fri, 21 Sep 2007 23:57:59 +0000 (23:57 +0000)]
One last fix to get name correct.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42216
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Fri, 21 Sep 2007 23:57:04 +0000 (23:57 +0000)]
Fix silly typo.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42215
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Fri, 21 Sep 2007 23:56:27 +0000 (23:56 +0000)]
Update annotation intrinsic with more details.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42214
91177308-0d34-0410-b5e6-
96231b3b80d8
Tanya Lattner [Fri, 21 Sep 2007 22:59:12 +0000 (22:59 +0000)]
Adding support for __builtin_annotation with an intrinsic called llvm.annotation. This is similar to llvm.var.annotation but is applied to expressions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42211
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Fri, 21 Sep 2007 22:09:37 +0000 (22:09 +0000)]
Change APFloat::convertFromInteger to take the incoming
bit width instead of number of words allocated, which
makes it actually work for int->APF conversions.
Adjust callers. Add const to one of the APInt constructors
to prevent surprising match when called with const
argument.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42210
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 21 Sep 2007 21:18:19 +0000 (21:18 +0000)]
Fix PR1692
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42209
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 21 Sep 2007 20:55:54 +0000 (20:55 +0000)]
Fix CopyFrom for non-POD data types.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42208
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 21 Sep 2007 18:30:39 +0000 (18:30 +0000)]
#ifdef out unsafe tracing code, which fixes PR1689
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42205
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 21 Sep 2007 18:25:53 +0000 (18:25 +0000)]
don't read Block after it is freed. This fixes PR1684
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42204
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Fri, 21 Sep 2007 18:02:24 +0000 (18:02 +0000)]
Add missing entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42202
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 21 Sep 2007 17:48:39 +0000 (17:48 +0000)]
gcroot testcase, patch by Eric Christopher.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42198
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 21 Sep 2007 17:43:52 +0000 (17:43 +0000)]
I cannot spell coalesce :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42196
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 21 Sep 2007 17:30:40 +0000 (17:30 +0000)]
gcroot must take concrete types, not arbitrary types.
clean up intrinsic descriptions in langref a bit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42194
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 21 Sep 2007 17:06:39 +0000 (17:06 +0000)]
initialize SetCCResultContents, fixing PR1693
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42193
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 21 Sep 2007 15:50:22 +0000 (15:50 +0000)]
Don't add a default STACK_ALIGN (use the generic ABI alignment)
Implement calls to functions with byval arguments on X86
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42192
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Fri, 21 Sep 2007 15:24:00 +0000 (15:24 +0000)]
There is no {rsqrt,rcp}{p,s}d.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42190
91177308-0d34-0410-b5e6-
96231b3b80d8
Rafael Espindola [Fri, 21 Sep 2007 14:55:38 +0000 (14:55 +0000)]
small cleanup: use LowerMemArgument in LowerFastCCArguments also
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42189
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 21 Sep 2007 03:54:09 +0000 (03:54 +0000)]
Initial hack at 2.1 release notes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42186
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Fri, 21 Sep 2007 03:53:52 +0000 (03:53 +0000)]
Add partial caching of non-local memory dependence queries. This provides a modest
speedup for GVN.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42185
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 21 Sep 2007 00:41:19 +0000 (00:41 +0000)]
Honor user-defined section specification of a global, ignores whether its initializer is null.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42182
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Thu, 20 Sep 2007 23:47:58 +0000 (23:47 +0000)]
Fix PR 1688. See comments there.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42181
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 20 Sep 2007 23:45:50 +0000 (23:45 +0000)]
Update aux. info associated with an instruction before erasing instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42180
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 20 Sep 2007 23:07:37 +0000 (23:07 +0000)]
Do not override user specified section.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42179
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 20 Sep 2007 23:01:50 +0000 (23:01 +0000)]
Don't increment invalid iterator.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42178
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Thu, 20 Sep 2007 18:56:24 +0000 (18:56 +0000)]
Testcase for PR1678.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42171
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 20 Sep 2007 18:06:22 +0000 (18:06 +0000)]
Disable if-conversion for this test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42170
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 20 Sep 2007 18:03:23 +0000 (18:03 +0000)]
-enable-arm-if-conversion is gone.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42169
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Thu, 20 Sep 2007 16:50:21 +0000 (16:50 +0000)]
Fix dumb regression in constant folding (Regression/C/casts)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42165
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Thu, 20 Sep 2007 16:48:18 +0000 (16:48 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42164
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Thu, 20 Sep 2007 16:47:41 +0000 (16:47 +0000)]
Incorporating review feedback for GC verifier patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42163
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Thu, 20 Sep 2007 14:17:21 +0000 (14:17 +0000)]
Fix several more entries in the x86 reload/remat folding tables.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42162
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Thu, 20 Sep 2007 10:20:34 +0000 (10:20 +0000)]
use typenames equivalent to
(u)intval, because latter are not
present in older caml/mlvalues.h
(e.g. 2004/07/07, 1.48.6.1)
Using this as a workaround for now,
until --without-ocaml works
or we settle on a better solution
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42160
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Thu, 20 Sep 2007 01:27:54 +0000 (01:27 +0000)]
another long double buglet
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42159
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 20 Sep 2007 00:57:00 +0000 (00:57 +0000)]
Excuse me.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42158
91177308-0d34-0410-b5e6-
96231b3b80d8
Nick Lewycky [Thu, 20 Sep 2007 00:48:36 +0000 (00:48 +0000)]
Fix optimization. %x = sub %x, %y does not imply that %y is zero.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42157
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Thu, 20 Sep 2007 00:48:22 +0000 (00:48 +0000)]
Enable if-conversion for ARM by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42156
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 19 Sep 2007 23:55:34 +0000 (23:55 +0000)]
More long double fixes. x86_64 should build now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42155
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 19 Sep 2007 21:48:07 +0000 (21:48 +0000)]
Avoid referencing deleted instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42153
91177308-0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 19 Sep 2007 21:26:49 +0000 (21:26 +0000)]
Previously GraphWriter assumed operator*() for node_iterator always
returned a reference type. This patch allows operator*() to return a
non-reference type while still maintaining the old behavior when it
does return a reference type.
This patch was motivated when I tried to use "df_iterator" (see
llvm/ADT/DepthFirstIterator.h) as a "node_iterator", as df_iterator
does not return a reference type and thus we would get a compilation
error when trying to take the address of a temporary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42151
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 19 Sep 2007 20:18:51 +0000 (20:18 +0000)]
Avoid unsafe promotion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42149
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 19 Sep 2007 19:02:47 +0000 (19:02 +0000)]
PSHUFDmi, etc. are actually folding a load, not a store.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42147
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 19 Sep 2007 17:53:26 +0000 (17:53 +0000)]
Fix longdouble -> uint conversion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42143
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 19 Sep 2007 17:14:45 +0000 (17:14 +0000)]
reject things like "declare internal @foo"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42140
91177308-0d34-0410-b5e6-
96231b3b80d8
Owen Anderson [Wed, 19 Sep 2007 16:13:57 +0000 (16:13 +0000)]
Add a flag to mark a dirty cache entry. This is not yet used, but will eventually
help non-local memdep caching.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42137
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Wed, 19 Sep 2007 14:22:58 +0000 (14:22 +0000)]
Fix some long double issues.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42133
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 19 Sep 2007 10:25:38 +0000 (10:25 +0000)]
Improve comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42132
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 19 Sep 2007 10:16:17 +0000 (10:16 +0000)]
Partial fix for PR1678: correct some parts of constant
fold that were missed in the fix for PR1646. Probably
this null/not-null logic should be factorized somewhere.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42131
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 19 Sep 2007 10:10:31 +0000 (10:10 +0000)]
A global variable with external weak linkage can be null, while
an alias could alias such a global variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42130
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Wed, 19 Sep 2007 09:29:58 +0000 (09:29 +0000)]
include alloca.h if available. this helps Solaris, but intnat and uintnat types are still undefined, causing errors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42129
91177308-0d34-0410-b5e6-
96231b3b80d8
Duncan Sands [Wed, 19 Sep 2007 07:43:17 +0000 (07:43 +0000)]
Testcase for PR1678.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42128
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 19 Sep 2007 01:38:40 +0000 (01:38 +0000)]
Use struct SDep instead of std::pair for SUnit pred and succ lists. First step
in tracking physical register output dependencies.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42125
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 19 Sep 2007 01:36:39 +0000 (01:36 +0000)]
Set CCR (EFLAGS) copy cost to -1, i.e. extremely expensive to copy.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42124
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Wed, 19 Sep 2007 01:35:01 +0000 (01:35 +0000)]
Add CopyCost to TargetRegisterClass. This specifies the cost of copying a value
between two registers in the specific class.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42123
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 19 Sep 2007 00:28:47 +0000 (00:28 +0000)]
Relax loop ExitCondition predicate restriction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42122
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 19 Sep 2007 00:15:16 +0000 (00:15 +0000)]
Filter loops where split condition's false branch is not empty. For example
for (int i = 0; i < N; ++i) {
if (i == somevalue)
dosomething();
else
dosomethingelse();
}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42121
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 19 Sep 2007 00:11:01 +0000 (00:11 +0000)]
Bail out early, before modifying anything.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42120
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 19 Sep 2007 00:08:13 +0000 (00:08 +0000)]
Work is incomplete. Loop is not modified at all right now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42119
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 18 Sep 2007 23:58:14 +0000 (23:58 +0000)]
ooops...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42118
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 18 Sep 2007 22:56:31 +0000 (22:56 +0000)]
Clean up.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42112
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Tue, 18 Sep 2007 21:54:37 +0000 (21:54 +0000)]
Fix a bogus splat xform:
shuffle <undef, undef, x, undef>, <undef, undef, undef, undef>, <2, 2, 2, 2>
!=
<undef, undef, x, undef>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42111
91177308-0d34-0410-b5e6-
96231b3b80d8
Gabor Greif [Tue, 18 Sep 2007 21:42:39 +0000 (21:42 +0000)]
rename test, it is obviously misspelled
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42108
91177308-0d34-0410-b5e6-
96231b3b80d8
Dale Johannesen [Tue, 18 Sep 2007 18:36:59 +0000 (18:36 +0000)]
Prevent crash on long double.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42103
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Tue, 18 Sep 2007 18:07:51 +0000 (18:07 +0000)]
Tests of the ocaml (and thus C) bindings for constants.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42101
91177308-0d34-0410-b5e6-
96231b3b80d8
Dan Gohman [Tue, 18 Sep 2007 14:59:14 +0000 (14:59 +0000)]
Move the entries for 64-bit CMP, IMUL, and a few others into the correct
tables so that they are eligible for reload/remat folding. And add
entries for JMP and CALL.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42094
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Tue, 18 Sep 2007 12:49:39 +0000 (12:49 +0000)]
Adding ocaml language bindings for the vmcore and bitwriter libraries. These are
built atop the C language bindings, and user programs can link with them as
such:
# Bytecode
ocamlc -cc g++ llvm.cma llvmbitwriter.cma -o example example.ml
# Native
ocamlopt -cc g++ llvm.cmxa llvmbitwriter.cmxa -o example.opt example.ml
The vmcore.ml test exercises most/all of the APIs thus far bound. Unfortunately,
they're not yet numerous enough to write hello world. But:
$ cat example.ml
(* example.ml *)
open Llvm
open Llvm_bitwriter
let _ =
let filename = Sys.argv.(1) in
let m = create_module filename in
let v = make_int_constant i32_type 42 false in
let g = define_global "hello_world" v m in
if not (write_bitcode_file m filename) then exit 1;
dispose_module m;
$ ocamlc -cc g++ llvm.cma llvm_bitwriter.cma -o example example.ml
File "example.ml", line 11, characters 6-7:
Warning Y: unused variable g.
$ ./example example.bc
$ llvm-dis < example.bc
; ModuleID = '<stdin>'
@hello_world = global i32 42 ; <i32*> [#uses=0]
The ocaml test cases provide effective tests for the C interfaces.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42093
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Tue, 18 Sep 2007 12:27:13 +0000 (12:27 +0000)]
Regenerate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42092
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Tue, 18 Sep 2007 12:26:59 +0000 (12:26 +0000)]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42091
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Tue, 18 Sep 2007 12:26:17 +0000 (12:26 +0000)]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42090
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Tue, 18 Sep 2007 10:14:30 +0000 (10:14 +0000)]
Incorporating review feedback for GC verifier patch.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42087
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 18 Sep 2007 09:10:16 +0000 (09:10 +0000)]
Don't pass back a reference to a temporary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42086
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 18 Sep 2007 05:28:19 +0000 (05:28 +0000)]
Update my entry.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42079
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 18 Sep 2007 05:03:44 +0000 (05:03 +0000)]
The exception handling function info should be reset for each new
function. The information isn't used heavily -- it's only used at the end
of exception handling emission -- so there's no need to cache it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42078
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Tue, 18 Sep 2007 03:18:57 +0000 (03:18 +0000)]
C bindings for libLLVMCore.a and libLLVMBitWriter.a.
- The naming prefix is LLVM.
- All types are represented using opaque references.
- Functions are not named LLVM{Type}{Method}; the names became
unreadable goop. Instead, they are named LLVM{ImperativeSentence}.
- Where an attribute only appears once in the class hierarchy (e.g.,
linkage only applies to values; parameter types only apply to
function types), the class is omitted from identifiers for
brevity. Tastes like methods.
- Strings are C strings or string/length tuples on a case-by-case
basis.
- APIs which give the caller ownership of an object are not mapped
(removeFromParent, certain constructor overloads). This keeps
keep memory management as simple as possible.
For each library with bindings:
llvm-c/<LIB>.h - Declares the bindings.
lib/<LIB>/<LIB>.cpp - Implements the bindings.
So just link with the library of your choice and use the C header
instead of the C++ one.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42077
91177308-0d34-0410-b5e6-
96231b3b80d8
Gordon Henriksen [Tue, 18 Sep 2007 02:09:34 +0000 (02:09 +0000)]
Fixing an comment in Module.h that refers to a nonexistent parameter.
Also adding some missing svn:ignores that've been bothering me.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42076
91177308-0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 18 Sep 2007 01:54:42 +0000 (01:54 +0000)]
Fix PR1657
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42075
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Tue, 18 Sep 2007 01:47:22 +0000 (01:47 +0000)]
Objective-C was generating EH frame info like this:
"_-[NSString(local) isNullOrNil]".eh = 0
.no_dead_strip "_-[NSString(local) isNullOrNil]".eh
The ".eh" should be inside the quotes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42074
91177308-0d34-0410-b5e6-
96231b3b80d8
Bill Wendling [Mon, 17 Sep 2007 22:39:32 +0000 (22:39 +0000)]
Add support for appending a suffix to the end of a mangled name.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42071
91177308-0d34-0410-b5e6-
96231b3b80d8