oota-llvm.git
18 years agoFor PR696:
Reid Spencer [Thu, 19 Jan 2006 08:22:40 +0000 (08:22 +0000)]
For PR696:
Add checks for ceil, ceilf, floor, and floorf

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

18 years agoImplement casts.ll:test26: a cast from float -> double -> integer, doesn't
Chris Lattner [Thu, 19 Jan 2006 07:40:22 +0000 (07:40 +0000)]
Implement casts.ll:test26: a cast from float -> double -> integer, doesn't
need the float->double part.

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

18 years agoAdd a new testcase for an eliminable cast
Chris Lattner [Thu, 19 Jan 2006 07:39:20 +0000 (07:39 +0000)]
Add a new testcase for an eliminable cast

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

18 years agoimplement support for f32 arguments past the first 6 words
Chris Lattner [Thu, 19 Jan 2006 07:22:29 +0000 (07:22 +0000)]
implement support for f32 arguments past the first 6 words

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

18 years agoThis test passes now.
Reid Spencer [Thu, 19 Jan 2006 07:15:47 +0000 (07:15 +0000)]
This test passes now.

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

18 years ago1. Identify bytecode modules that have upgraded intrinsics by setting a
Reid Spencer [Thu, 19 Jan 2006 07:02:16 +0000 (07:02 +0000)]
1. Identify bytecode modules that have upgraded intrinsics by setting a
   boolean flag if we read a function prototype that needs upgrading.
2. Don't upgrade the CallInst instruction until after its been inserted
   into the basic block, and only if we know that we have seen an
   upgraded intrinsic function.

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

18 years agoDon't forget about casting the result of an upgraded call to an intrinsic
Reid Spencer [Thu, 19 Jan 2006 07:00:29 +0000 (07:00 +0000)]
Don't forget about casting the result of an upgraded call to an intrinsic
in the case where it needs to cast back to a signed type.

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

18 years ago1. Documentation upgrade.
Reid Spencer [Thu, 19 Jan 2006 06:59:26 +0000 (06:59 +0000)]
1. Documentation upgrade.
2. Have UpgradeInstrinicCall return an Instruction* instead of a CallInst*
   and return the needed CastInst* if the result of the upgraded call needs
   to be casted back to a signed type.

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

18 years agoAdd a flag to identify bytecode files that have intrinsic functions that
Reid Spencer [Thu, 19 Jan 2006 06:57:58 +0000 (06:57 +0000)]
Add a flag to identify bytecode files that have intrinsic functions that
need to be upgraded.

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

18 years agoadc and sbb need an incoming flag to ensure it reads the carry flag
Evan Cheng [Thu, 19 Jan 2006 06:53:20 +0000 (06:53 +0000)]
adc and sbb need an incoming flag to ensure it reads the carry flag
from add / sub.

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

18 years agomake this work for Reid, who renamed his CVS module dir :)
Chris Lattner [Thu, 19 Jan 2006 06:49:46 +0000 (06:49 +0000)]
make this work for Reid, who renamed his CVS module dir :)

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

18 years agonew testcase the autoupgrader in the bc reader fails to handle
Chris Lattner [Thu, 19 Jan 2006 06:15:34 +0000 (06:15 +0000)]
new testcase the autoupgrader in the bc reader fails to handle

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

18 years agoMake get_suffix faster by using a switch on getTypeID rather than a series
Reid Spencer [Thu, 19 Jan 2006 05:37:27 +0000 (05:37 +0000)]
Make get_suffix faster by using a switch on getTypeID rather than a series
of comparisons on the various type objects.

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

18 years agoAnother typo
Evan Cheng [Thu, 19 Jan 2006 04:54:52 +0000 (04:54 +0000)]
Another typo

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

18 years agoadd a note
Chris Lattner [Thu, 19 Jan 2006 02:09:38 +0000 (02:09 +0000)]
add a note

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

18 years agoTwo peepholes:
Evan Cheng [Thu, 19 Jan 2006 01:56:29 +0000 (01:56 +0000)]
Two peepholes:
(or (x >> c) | (y << (32 - c))) ==> (shrd x, y, c)
(or (x << c) | (y >> (32 - c))) ==> (shld x, y, c)

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

18 years agoPrevent unnecessary CopyToReg when the same HW register appears in two spots
Evan Cheng [Thu, 19 Jan 2006 01:55:45 +0000 (01:55 +0000)]
Prevent unnecessary CopyToReg when the same HW register appears in two spots
in the pattern.

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

18 years agoDidn't mean to check that in.
Evan Cheng [Thu, 19 Jan 2006 01:52:56 +0000 (01:52 +0000)]
Didn't mean to check that in.

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

18 years agoA obvious typo
Evan Cheng [Thu, 19 Jan 2006 01:46:14 +0000 (01:46 +0000)]
A obvious typo

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

18 years agoMake sure intrinsic auto-upgrade is invoked correctly.
Reid Spencer [Thu, 19 Jan 2006 01:21:04 +0000 (01:21 +0000)]
Make sure intrinsic auto-upgrade is invoked correctly.

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

18 years agoDon't accept the ctpop, cttz, or ctlz intrinsics with signed arguments. The
Reid Spencer [Thu, 19 Jan 2006 01:20:03 +0000 (01:20 +0000)]
Don't accept the ctpop, cttz, or ctlz intrinsics with signed arguments. The
interface requires unsigned arguments.

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

18 years agoAdd a new interface function to AutoUpgrade for simultaneously upgrading
Reid Spencer [Thu, 19 Jan 2006 01:18:29 +0000 (01:18 +0000)]
Add a new interface function to AutoUpgrade for simultaneously upgrading
the Function and the CallInst: UpgradeCallsToIntrinsic(Function*). Also,
re-factor the AutoUpgrade implementation to eliminate some duplication of
code.

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

18 years agoExpand test to cover the non-overloaded variants of the arithmetic and
Reid Spencer [Thu, 19 Jan 2006 01:17:06 +0000 (01:17 +0000)]
Expand test to cover the non-overloaded variants of the arithmetic and
floating point intrinsics.

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

18 years agoIf not internalizing, don't mark llvm.global[cd]tors const, as a fix for a
Chris Lattner [Thu, 19 Jan 2006 00:46:54 +0000 (00:46 +0000)]
If not internalizing, don't mark llvm.global[cd]tors const, as a fix for a
hypothetical future boog.

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

18 years agoDon't internalize llvm.global[cd]tor unless there are uses of it. This
Chris Lattner [Thu, 19 Jan 2006 00:40:39 +0000 (00:40 +0000)]
Don't internalize llvm.global[cd]tor unless there are uses of it.  This
unbreaks front-ends that don't use __main (like the new CFE).

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

18 years agowas ignoring the legalized chain in this case, fixed SPASS on alpha
Andrew Lenharth [Wed, 18 Jan 2006 23:19:08 +0000 (23:19 +0000)]
was ignoring the legalized chain in this case, fixed SPASS on alpha

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

18 years agoa reduced test case, the GlobalAddress is never legalized
Andrew Lenharth [Wed, 18 Jan 2006 22:59:33 +0000 (22:59 +0000)]
a reduced test case, the GlobalAddress is never legalized

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

18 years agoGet rid of code in the DAGCombiner that is duplicated in SelectionDAG.cpp
Nate Begeman [Wed, 18 Jan 2006 22:35:16 +0000 (22:35 +0000)]
Get rid of code in the DAGCombiner that is duplicated in SelectionDAG.cpp
Now all constant folding in the code generator is in one place.

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

18 years agoTemporary work around for a libcall insertion bug: If a target doesn't
Chris Lattner [Wed, 18 Jan 2006 21:50:14 +0000 (21:50 +0000)]
Temporary work around for a libcall insertion bug: If a target doesn't
support FSIN/FCOS nodes, do not lower sin/cos to them.

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

18 years agoMake sure that cloning a module clones its target triple and dependent
Chris Lattner [Wed, 18 Jan 2006 21:32:45 +0000 (21:32 +0000)]
Make sure that cloning a module clones its target triple and dependent
library list as well.  This should help bugpoint.

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

18 years agoDon't assert on 'select_cc SETUO'
Chris Lattner [Wed, 18 Jan 2006 19:42:35 +0000 (19:42 +0000)]
Don't assert on 'select_cc SETUO'

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

18 years agofix out of date comment
Chris Lattner [Wed, 18 Jan 2006 19:37:44 +0000 (19:37 +0000)]
fix out of date comment

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

18 years agoFix Regression/CodeGen/PowerPC/2006-01-18-InvalidBranchOpcodeAssert.ll
Chris Lattner [Wed, 18 Jan 2006 19:35:21 +0000 (19:35 +0000)]
Fix Regression/CodeGen/PowerPC/2006-01-18-InvalidBranchOpcodeAssert.ll

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

18 years agonew testcase
Chris Lattner [Wed, 18 Jan 2006 19:16:07 +0000 (19:16 +0000)]
new testcase

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

18 years agoFix a backwards conditional that caused an inf loop in some cases. This
Chris Lattner [Wed, 18 Jan 2006 19:13:41 +0000 (19:13 +0000)]
Fix a backwards conditional that caused an inf loop in some cases.  This
fixes: test/Regression/CodeGen/Generic/2005-01-18-SetUO-InfLoop.ll

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

18 years agothis testcase sent the dag combiner spinning into an infinite loop
Chris Lattner [Wed, 18 Jan 2006 19:13:11 +0000 (19:13 +0000)]
this testcase sent the dag combiner spinning into an infinite loop

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

18 years agoAdded minimum Dwarf aranges. Cleaned up some section headers. Line number
Jim Laskey [Wed, 18 Jan 2006 16:54:26 +0000 (16:54 +0000)]
Added minimum Dwarf aranges.  Cleaned up some section headers.  Line number
support now works in gdb.

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

18 years agoSRA shift amount must be in i8
Evan Cheng [Wed, 18 Jan 2006 09:26:46 +0000 (09:26 +0000)]
SRA shift amount must be in i8

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

18 years agoIf a call return type is i1, insert a truncate from X86::AL to i1.
Evan Cheng [Wed, 18 Jan 2006 08:08:38 +0000 (08:08 +0000)]
If a call return type is i1, insert a truncate from X86::AL to i1.

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

18 years agoFixed style of curly brace. No functionality changes.
John Criswell [Tue, 17 Jan 2006 22:01:57 +0000 (22:01 +0000)]
Fixed style of curly brace.  No functionality changes.

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

18 years agoFix lowering of calls which return f32 values.
Evan Cheng [Tue, 17 Jan 2006 21:58:21 +0000 (21:58 +0000)]
Fix lowering of calls which return f32 values.

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

18 years agoPastos.
Jim Laskey [Tue, 17 Jan 2006 21:39:39 +0000 (21:39 +0000)]
Pastos.

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

18 years agofix a broken comment
Chris Lattner [Tue, 17 Jan 2006 21:31:18 +0000 (21:31 +0000)]
fix a broken comment

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

18 years agoAdd frame work for additional dwarf sections. Comments will improve as code
Jim Laskey [Tue, 17 Jan 2006 20:41:40 +0000 (20:41 +0000)]
Add frame work for additional dwarf sections.  Comments will improve as code
is added.

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

18 years agoTest case for the insertelement operation.
Robert Bocchino [Tue, 17 Jan 2006 20:07:30 +0000 (20:07 +0000)]
Test case for the insertelement operation.

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

18 years agoVMCore support for the insertelement operation.
Robert Bocchino [Tue, 17 Jan 2006 20:07:22 +0000 (20:07 +0000)]
VMCore support for the insertelement operation.

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

18 years agoConstant folding support for the insertelement operation.
Robert Bocchino [Tue, 17 Jan 2006 20:07:07 +0000 (20:07 +0000)]
Constant folding support for the insertelement operation.

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

18 years agoLowerpacked and SCCP support for the insertelement operation.
Robert Bocchino [Tue, 17 Jan 2006 20:06:55 +0000 (20:06 +0000)]
Lowerpacked and SCCP support for the insertelement operation.

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

18 years agoSupport for the insertelement operation.
Robert Bocchino [Tue, 17 Jan 2006 20:06:42 +0000 (20:06 +0000)]
Support for the insertelement operation.

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

18 years agoReader support for the insertelement operation.
Robert Bocchino [Tue, 17 Jan 2006 20:06:35 +0000 (20:06 +0000)]
Reader support for the insertelement operation.

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

18 years agoLexer and parser support for the insertelement operation.
Robert Bocchino [Tue, 17 Jan 2006 20:06:25 +0000 (20:06 +0000)]
Lexer and parser support for the insertelement operation.

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

18 years agoInstruction and constant expression definitions for the insertelement
Robert Bocchino [Tue, 17 Jan 2006 20:05:59 +0000 (20:05 +0000)]
Instruction and constant expression definitions for the insertelement
operation.

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

18 years agoBug fix: missing LegalizeOp() on newly created nodes.
Evan Cheng [Tue, 17 Jan 2006 19:47:13 +0000 (19:47 +0000)]
Bug fix: missing LegalizeOp() on newly created nodes.

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

18 years agoSuppress "no newline at end of file" warnings.
Evan Cheng [Tue, 17 Jan 2006 19:21:01 +0000 (19:21 +0000)]
Suppress "no newline at end of file" warnings.

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

18 years agoMisc. errors.
Jim Laskey [Tue, 17 Jan 2006 19:12:24 +0000 (19:12 +0000)]
Misc. errors.

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

18 years agoClean up the FFS optimization code, and make it correctly create the appropriate
Chris Lattner [Tue, 17 Jan 2006 18:27:17 +0000 (18:27 +0000)]
Clean up the FFS optimization code, and make it correctly create the appropriate
unsigned llvm.cttz.* intrinsic, fixing the 2005-05-11-Popcount-ffs-fls regression
last night.

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

18 years agoAdding basic support for Dwarf line number debug information.
Jim Laskey [Tue, 17 Jan 2006 17:31:53 +0000 (17:31 +0000)]
Adding basic support for Dwarf line number debug information.

I promise to keep future commits smaller.

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

18 years agoAdding UniqueVector.
Jim Laskey [Tue, 17 Jan 2006 17:29:20 +0000 (17:29 +0000)]
Adding UniqueVector.

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

18 years agoRegenerated the Lex and Yacc output files on Linux. It seems that our
John Criswell [Tue, 17 Jan 2006 17:01:34 +0000 (17:01 +0000)]
Regenerated the Lex and Yacc output files on Linux.  It seems that our
Linux machines don't like the source code generated on MacOS X for some
reason.

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

18 years agoReduce memory consumption and force (somewhat) access to entries via ID.
Jim Laskey [Tue, 17 Jan 2006 16:29:58 +0000 (16:29 +0000)]
Reduce memory consumption and force (somewhat) access to entries via ID.

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

18 years agoEmit a type matching check for ComplexPatterns.
Evan Cheng [Tue, 17 Jan 2006 07:36:41 +0000 (07:36 +0000)]
Emit a type matching check for ComplexPatterns.

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

18 years agoZero extending load from i1 to i8.
Evan Cheng [Tue, 17 Jan 2006 07:02:46 +0000 (07:02 +0000)]
Zero extending load from i1 to i8.

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

18 years agoEnsure that the CFE always emits intrinsics in their unsigned version, not with signe...
Chris Lattner [Tue, 17 Jan 2006 06:24:01 +0000 (06:24 +0000)]
Ensure that the CFE always emits intrinsics in their unsigned version, not with signed operands

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

18 years agoVisual Studio still has issues with being left out.
Jeff Cohen [Tue, 17 Jan 2006 05:13:22 +0000 (05:13 +0000)]
Visual Studio still has issues with being left out.

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

18 years agooops, this shouldn't have gotten in
Duraid Madina [Tue, 17 Jan 2006 03:09:48 +0000 (03:09 +0000)]
oops, this shouldn't have gotten in

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

18 years agoSSE does not support i64 SINT_TO_FP (FP stack doesn't either, but we custom
Evan Cheng [Tue, 17 Jan 2006 02:32:49 +0000 (02:32 +0000)]
SSE does not support i64 SINT_TO_FP (FP stack doesn't either, but we custom
expand it), so ask legalizer to expand i32 UINT_TO_FP.

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

18 years agouse proper (82-bit) spills/fills when spilling FP regs, so that
Duraid Madina [Tue, 17 Jan 2006 02:04:52 +0000 (02:04 +0000)]
use proper (82-bit) spills/fills when spilling FP regs, so that
divides don't get broken. this fixes obsequi, smg2000, and probably
a bunch of other stuff (tm)

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

18 years agofixing divides
Duraid Madina [Tue, 17 Jan 2006 01:19:49 +0000 (01:19 +0000)]
fixing divides

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

18 years agoRevert this, I didn't mean to commit it
Chris Lattner [Tue, 17 Jan 2006 00:40:24 +0000 (00:40 +0000)]
Revert this, I didn't mean to commit it

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

18 years agoAdded a FIXME comment about why FST is currently flagged to fpGETRESULT.
Evan Cheng [Tue, 17 Jan 2006 00:37:42 +0000 (00:37 +0000)]
Added a FIXME comment about why FST is currently flagged to fpGETRESULT.

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

18 years agoYet another getTargetNode() variant. I promise one of these days I'll fix
Evan Cheng [Tue, 17 Jan 2006 00:32:38 +0000 (00:32 +0000)]
Yet another getTargetNode() variant. I promise one of these days I'll fix
tblgen so this is unnecessary.

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

18 years agoAdd support for programs with a null argv[0]
Chris Lattner [Tue, 17 Jan 2006 00:32:28 +0000 (00:32 +0000)]
Add support for programs with a null argv[0]

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

18 years agoBug fixes: fpGETRESULT should produces a flag result and X86ISD::FST should
Evan Cheng [Tue, 17 Jan 2006 00:19:47 +0000 (00:19 +0000)]
Bug fixes: fpGETRESULT should produces a flag result and X86ISD::FST should
read a flag.

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

18 years agoRedundant inline keyword.
Jim Laskey [Mon, 16 Jan 2006 23:44:03 +0000 (23:44 +0000)]
Redundant inline keyword.

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

18 years agoUniqueVector template provides a means of enumerating objects uniquely.
Jim Laskey [Mon, 16 Jan 2006 23:29:43 +0000 (23:29 +0000)]
UniqueVector template provides a means of enumerating objects uniquely.

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

18 years agoMore typo's
Evan Cheng [Mon, 16 Jan 2006 23:26:53 +0000 (23:26 +0000)]
More typo's

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

18 years agoSome typo's
Evan Cheng [Mon, 16 Jan 2006 22:48:46 +0000 (22:48 +0000)]
Some typo's

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

18 years agolike bswap, the ct* intrinsics require unsigned operands
Chris Lattner [Mon, 16 Jan 2006 22:38:59 +0000 (22:38 +0000)]
like bswap, the ct* intrinsics require unsigned operands

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

18 years agoConsistency
Chris Lattner [Mon, 16 Jan 2006 22:34:14 +0000 (22:34 +0000)]
Consistency

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

18 years agofix short immediate loads
Andrew Lenharth [Mon, 16 Jan 2006 21:41:39 +0000 (21:41 +0000)]
fix short immediate loads

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

18 years agothis is fixed
Andrew Lenharth [Mon, 16 Jan 2006 21:22:42 +0000 (21:22 +0000)]
this is fixed

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

18 years agostack and rpcc
Andrew Lenharth [Mon, 16 Jan 2006 21:22:38 +0000 (21:22 +0000)]
stack and rpcc

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

18 years agoFix FP_TO_INT**_IN_MEM lowering.
Evan Cheng [Mon, 16 Jan 2006 21:21:29 +0000 (21:21 +0000)]
Fix FP_TO_INT**_IN_MEM lowering.

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

18 years agoThere is no llvm.bswap.i8, need at least 2 bytes to swap.
Reid Spencer [Mon, 16 Jan 2006 21:14:01 +0000 (21:14 +0000)]
There is no llvm.bswap.i8, need at least 2 bytes to swap.

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

18 years agoFor PR411:
Reid Spencer [Mon, 16 Jan 2006 21:12:35 +0000 (21:12 +0000)]
For PR411:
This patch is an incremental step towards supporting a flat symbol table.
It de-overloads the intrinsic functions by providing type-specific intrinsics
and arranging for automatically upgrading from the old overloaded name to
the new non-overloaded name. Specifically:
  llvm.isunordered -> llvm.isunordered.f32, llvm.isunordered.f64
  llvm.sqrt -> llvm.sqrt.f32, llvm.sqrt.f64
  llvm.ctpop -> llvm.ctpop.i8, llvm.ctpop.i16, llvm.ctpop.i32, llvm.ctpop.i64
  llvm.ctlz -> llvm.ctlz.i8, llvm.ctlz.i16, llvm.ctlz.i32, llvm.ctlz.i64
  llvm.cttz -> llvm.cttz.i8, llvm.cttz.i16, llvm.cttz.i32, llvm.cttz.i64
New code should not use the overloaded intrinsic names. Warnings will be
emitted if they are used.

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

18 years agoFor PR411:
Reid Spencer [Mon, 16 Jan 2006 21:06:01 +0000 (21:06 +0000)]
For PR411:
This file makes the helper functions for auto-upgrade of llvm assembly and
bytecode more accessible. This is part of de-overloading of intrinsic
functions to support the flat symbol table (no type planes).

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

18 years agoFriendly names
Andrew Lenharth [Mon, 16 Jan 2006 19:53:25 +0000 (19:53 +0000)]
Friendly names

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

18 years agofix a crash due to missing parens
Chris Lattner [Mon, 16 Jan 2006 19:47:21 +0000 (19:47 +0000)]
fix a crash due to missing parens

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

18 years agoadd notes from my *other* email acct.
Chris Lattner [Mon, 16 Jan 2006 17:58:54 +0000 (17:58 +0000)]
add notes from my *other* email acct.

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

18 years agotransfer some notes from my email to somewhere useful.
Chris Lattner [Mon, 16 Jan 2006 17:53:00 +0000 (17:53 +0000)]
transfer some notes from my email to somewhere useful.

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

18 years agoFix these testcases :(
Chris Lattner [Mon, 16 Jan 2006 16:34:39 +0000 (16:34 +0000)]
Fix these testcases  :(
Apparently Andrew hasn't implemented ReadCycleCounter in the new isel and
renamed ornot to eqv

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

18 years agoAdd a couple very minor tweaks
Chris Lattner [Mon, 16 Jan 2006 16:31:40 +0000 (16:31 +0000)]
Add a couple very minor tweaks

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

18 years agofixing divides: FP should now be 100%, and integers are fine too
Duraid Madina [Mon, 16 Jan 2006 14:33:04 +0000 (14:33 +0000)]
fixing divides: FP should now be 100%, and integers are fine too
unless you try to div/mod 0 by anything, in which case you will
get some cute number, and not 0, which is bad.

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

18 years agoConstant fold ctpop/ctlz/cttz, and a couple other small cleanups
Nate Begeman [Mon, 16 Jan 2006 08:07:10 +0000 (08:07 +0000)]
Constant fold ctpop/ctlz/cttz, and a couple other small cleanups

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

18 years agoExpand case for 64b Legalize, even though no one should end up using this
Nate Begeman [Mon, 16 Jan 2006 07:59:13 +0000 (07:59 +0000)]
Expand case for 64b Legalize, even though no one should end up using this
(itanium supports bswap natively, alpha should custom lower it using the
VAX floating point swapload, ha ha).

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

18 years agoAdd BSWAP stuff to intrinsic lowering for CBE & friends.
Nate Begeman [Mon, 16 Jan 2006 07:57:00 +0000 (07:57 +0000)]
Add BSWAP stuff to intrinsic lowering for CBE & friends.

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

18 years agoFix up 'adding an intrinsic' section a bit, first draft of 'adding a new
Nate Begeman [Mon, 16 Jan 2006 07:54:23 +0000 (07:54 +0000)]
Fix up 'adding an intrinsic' section a bit, first draft of 'adding a new
sdnode' section.

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

18 years agofix division! again!! pattern isel, prepare to die.
Duraid Madina [Mon, 16 Jan 2006 06:33:38 +0000 (06:33 +0000)]
fix division! again!! pattern isel, prepare to die.

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

18 years agoSilly Sparc is big endian. If we have to load args out of incoming stack slots
Chris Lattner [Mon, 16 Jan 2006 01:40:00 +0000 (01:40 +0000)]
Silly Sparc is big endian.  If we have to load args out of incoming stack slots
that are smaller than an int, make sure to adjust the frame pointer to take
this into consideration.

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

18 years agoThis pass has been removed.
Chris Lattner [Mon, 16 Jan 2006 01:06:43 +0000 (01:06 +0000)]
This pass has been removed.

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