oota-llvm.git
16 years agoFactor the dominator tree calculation details out into DominatorCalculation.h. This
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

16 years agoImplementation of +sse -sse2 has changed; add
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

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