oota-llvm.git
16 years agoFix PR 1681. When X86 target uses +sse -sse2,
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

16 years agoFix srcdir <> objdir builds with ocaml 2.10. Downrev versions don't care whether
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

16 years agofix syntax
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

16 years agoRegenerate.
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

16 years agoFix for srcdir <> objdir builds.
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

16 years agoFix PR1679, by printing GEP indices as signed values instead of unsigned.
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

16 years agoValidation fixes
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

16 years agoValidation fixes
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

16 years agoValidation fixes
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

16 years agoValidation fixes
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

16 years agoValidation fixes
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

16 years agoValidation fixes
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

16 years agoValidation fixes
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

16 years agoValidation fixes
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

16 years agoValidation fixes
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

16 years agoFormatting changes.
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

16 years agoinitialize isstore/isload fields in ctor, fixing PR1695
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

16 years agofix bugs in the manual
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

16 years agoHandle storage complications of float->float conversions.
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

16 years agoCorrect names.
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

16 years agoFix typo.
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

16 years agoOne last fix to get name correct.
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

16 years agoFix silly typo.
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

16 years agoUpdate annotation intrinsic with more details.
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

16 years agoAdding support for __builtin_annotation with an intrinsic called llvm.annotation...
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

16 years agoChange APFloat::convertFromInteger to take the incoming
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

16 years agoFix PR1692
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

16 years agoFix CopyFrom for non-POD data types.
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

16 years ago#ifdef out unsafe tracing code, which fixes PR1689
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

16 years agodon't read Block after it is freed. This fixes PR1684
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

16 years agoAdd missing entry.
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

16 years agogcroot testcase, patch by Eric Christopher.
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

16 years agoI cannot spell coalesce :)
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

16 years agogcroot must take concrete types, not arbitrary types.
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

16 years agoinitialize SetCCResultContents, fixing PR1693
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

16 years agoDon't add a default STACK_ALIGN (use the generic ABI alignment)
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

16 years agoThere is no {rsqrt,rcp}{p,s}d.
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

16 years agosmall cleanup: use LowerMemArgument in LowerFastCCArguments also
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

16 years agoInitial hack at 2.1 release notes.
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

16 years agoAdd partial caching of non-local memory dependence queries. This provides a modest
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

16 years agoHonor user-defined section specification of a global, ignores whether its initializer...
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

16 years agoFix PR 1688. See comments there.
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

16 years agoUpdate aux. info associated with an instruction before erasing instruction.
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

16 years agoDo not override user specified section.
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

16 years agoDon't increment invalid iterator.
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

16 years agoTestcase for PR1678.
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

16 years agoDisable if-conversion for this test.
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

16 years ago-enable-arm-if-conversion is gone.
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

16 years agoFix dumb regression in constant folding (Regression/C/casts)
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

16 years agoRegenerate.
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

16 years agoIncorporating review feedback for GC verifier patch.
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

16 years agoFix several more entries in the x86 reload/remat folding tables.
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

16 years agouse typenames equivalent to
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

16 years agoanother long double buglet
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

16 years agoExcuse me.
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

16 years agoFix optimization. %x = sub %x, %y does not imply that %y is zero.
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

16 years agoEnable if-conversion for ARM by default.
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

16 years agoMore long double fixes. x86_64 should build now.
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

16 years agoAvoid referencing deleted instruction.
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

16 years agoPreviously GraphWriter assumed operator*() for node_iterator always
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

16 years agoAvoid unsafe promotion.
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

16 years agoPSHUFDmi, etc. are actually folding a load, not a store.
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

16 years agoFix longdouble -> uint conversion.
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

16 years agoreject things like "declare internal @foo"
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

16 years agoAdd a flag to mark a dirty cache entry. This is not yet used, but will eventually
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

16 years agoFix some long double issues.
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

16 years agoImprove comment.
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

16 years agoPartial fix for PR1678: correct some parts of constant
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

16 years agoA global variable with external weak linkage can be null, while
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

16 years agoinclude alloca.h if available. this helps Solaris, but intnat and uintnat types are...
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

16 years agoTestcase for PR1678.
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

16 years agoUse struct SDep instead of std::pair for SUnit pred and succ lists. First step
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

16 years agoSet CCR (EFLAGS) copy cost to -1, i.e. extremely expensive to copy.
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

16 years agoAdd CopyCost to TargetRegisterClass. This specifies the cost of copying a value
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

16 years agoRelax loop ExitCondition predicate restriction.
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

16 years agoFilter loops where split condition's false branch is not empty. For example
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

16 years agoBail out early, before modifying anything.
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

16 years agoWork is incomplete. Loop is not modified at all right now.
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

16 years agoooops...
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

16 years agoClean up.
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

16 years agoFix a bogus splat xform:
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

16 years agorename test, it is obviously misspelled
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

16 years agoPrevent crash on long double.
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

16 years agoTests of the ocaml (and thus C) bindings for constants.
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

16 years agoMove the entries for 64-bit CMP, IMUL, and a few others into the correct
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

16 years agoAdding ocaml language bindings for the vmcore and bitwriter libraries. These are
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

16 years agoRegenerate.
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

16 years agogit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42091 91177308-0d34-0410...
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

16 years agogit-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42090 91177308-0d34-0410...
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

16 years agoIncorporating review feedback for GC verifier patch.
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

16 years agoDon't pass back a reference to a temporary.
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

16 years agoUpdate my entry.
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

16 years agoThe exception handling function info should be reset for each new
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

16 years agoC bindings for libLLVMCore.a and libLLVMBitWriter.a.
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

16 years agoFixing an comment in Module.h that refers to a nonexistent parameter.
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

16 years agoFix PR1657
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

16 years agoObjective-C was generating EH frame info like this:
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

16 years agoAdd support for appending a suffix to the end of a mangled name.
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

16 years agoBug fix and minor clean up of generated code.
Evan Cheng [Mon, 17 Sep 2007 22:26:41 +0000 (22:26 +0000)]
Bug fix and minor clean up of generated code.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42069 91177308-0d34-0410-b5e6-96231b3b80d8

16 years agoDo not hide APInt::dump() inside #ifndef NDEBUG.
Devang Patel [Mon, 17 Sep 2007 22:24:00 +0000 (22:24 +0000)]
Do not hide APInt::dump() inside #ifndef NDEBUG.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@42068 91177308-0d34-0410-b5e6-96231b3b80d8