oota-llvm.git
17 years agorun a late dce pass to clean up extra cruft.
Chris Lattner [Thu, 5 Apr 2007 16:50:20 +0000 (16:50 +0000)]
run a late dce pass to clean up extra cruft.

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

17 years agoFix test
Anton Korobeynikov [Thu, 5 Apr 2007 16:43:09 +0000 (16:43 +0000)]
Fix test

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

17 years agoAdd a helper class (APSInt) which can represent an APInt along with sign
Chris Lattner [Thu, 5 Apr 2007 05:20:11 +0000 (05:20 +0000)]
Add a helper class (APSInt) which can represent an APInt along with sign
information.  This is useful when a value does have a sign associated with
it.  This shouldn't be used generally in LLVM for mid-level optimizer stuff.

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

17 years agoUse a worklist-driven algorithm instead of a recursive one.
Chris Lattner [Thu, 5 Apr 2007 01:27:02 +0000 (01:27 +0000)]
Use a worklist-driven algorithm instead of a recursive one.

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

17 years agoChange the bit_part_select (non)implementation from "return 0" to abort.
Reid Spencer [Thu, 5 Apr 2007 01:20:18 +0000 (01:20 +0000)]
Change the bit_part_select (non)implementation from "return 0" to abort.

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

17 years agoImplement the llvm.bit.part_select.iN.iN.iN overloaded intrinsic.
Reid Spencer [Wed, 4 Apr 2007 23:48:25 +0000 (23:48 +0000)]
Implement the llvm.bit.part_select.iN.iN.iN overloaded intrinsic.

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

17 years agoIgnore some things generated by bugpoint.
Reid Spencer [Wed, 4 Apr 2007 22:47:38 +0000 (22:47 +0000)]
Ignore some things generated by bugpoint.

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

17 years agoFix release build.
Lauro Ramos Venancio [Wed, 4 Apr 2007 22:13:39 +0000 (22:13 +0000)]
Fix release build.

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

17 years agoFix some FreeBSD/amd64 regressions.
Jeff Cohen [Wed, 4 Apr 2007 22:07:44 +0000 (22:07 +0000)]
Fix some FreeBSD/amd64 regressions.

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

17 years agoSquelch a warning about mismatch between sign of constant and sign of return
Reid Spencer [Wed, 4 Apr 2007 22:07:24 +0000 (22:07 +0000)]
Squelch a warning about mismatch between sign of constant and sign of return
type.

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

17 years agoFix test
Anton Korobeynikov [Wed, 4 Apr 2007 21:28:36 +0000 (21:28 +0000)]
Fix test

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

17 years agoProperly emit range comparisons for switch cases, where neighbour cases
Anton Korobeynikov [Wed, 4 Apr 2007 21:14:49 +0000 (21:14 +0000)]
Properly emit range comparisons for switch cases, where neighbour cases
go to the same destination. Now we're producing really good code for
switch-lower-feature.ll testcase

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

17 years agoAny add is wrong, regardless of type.
Jeff Cohen [Wed, 4 Apr 2007 20:40:44 +0000 (20:40 +0000)]
Any add is wrong, regardless of type.

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

17 years agoGet it right...
Jeff Cohen [Wed, 4 Apr 2007 20:35:31 +0000 (20:35 +0000)]
Get it right...

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

17 years agoTest for transformConstExprCastCall fix.
Dale Johannesen [Wed, 4 Apr 2007 19:18:16 +0000 (19:18 +0000)]
Test for transformConstExprCastCall fix.

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

17 years agoPrevent transformConstExprCastCall from generating conversions that assert
Dale Johannesen [Wed, 4 Apr 2007 19:16:42 +0000 (19:16 +0000)]
Prevent transformConstExprCastCall from generating conversions that assert
elsewhere.

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

17 years agoRemove the part_set intrinsic. It won't get implemented as an intrinsic.
Reid Spencer [Wed, 4 Apr 2007 19:15:59 +0000 (19:15 +0000)]
Remove the part_set intrinsic. It won't get implemented as an intrinsic.

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

17 years agostringmap memory managed with malloc now
Chris Lattner [Wed, 4 Apr 2007 17:24:28 +0000 (17:24 +0000)]
stringmap memory managed with malloc now

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

17 years agoFix 2007-04-04-BadFoldBitcastIntoMalloc.ll
Jeff Cohen [Wed, 4 Apr 2007 16:58:57 +0000 (16:58 +0000)]
Fix 2007-04-04-BadFoldBitcastIntoMalloc.ll

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

17 years agoAdd new test.
Jeff Cohen [Wed, 4 Apr 2007 16:11:23 +0000 (16:11 +0000)]
Add new test.

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

17 years agoBetter still.
Evan Cheng [Wed, 4 Apr 2007 08:49:40 +0000 (08:49 +0000)]
Better still.

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

17 years agoFix test case.
Evan Cheng [Wed, 4 Apr 2007 07:41:33 +0000 (07:41 +0000)]
Fix test case.

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

17 years agoThese got better.
Evan Cheng [Wed, 4 Apr 2007 07:41:15 +0000 (07:41 +0000)]
These got better.

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

17 years agoRe-materialize all loads from fixed stack slots.
Evan Cheng [Wed, 4 Apr 2007 07:40:01 +0000 (07:40 +0000)]
Re-materialize all loads from fixed stack slots.

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

17 years agoAdd isFixedObjectIndex. It returns true if the stack slot index is for a fixed stack...
Evan Cheng [Wed, 4 Apr 2007 07:38:25 +0000 (07:38 +0000)]
Add isFixedObjectIndex. It returns true if the stack slot index is for a fixed stack object.

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

17 years agoTrivially re-materializable instructions have spill weights that are half of what...
Evan Cheng [Wed, 4 Apr 2007 07:04:55 +0000 (07:04 +0000)]
Trivially re-materializable instructions have spill weights that are half of what it would be otherwise.

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

17 years agoRevert this until the Date::Parse module can be installed on the nightly
Reid Spencer [Wed, 4 Apr 2007 06:59:36 +0000 (06:59 +0000)]
Revert this until the Date::Parse module can be installed on the nightly
testers.

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

17 years agoFor PR1302:
Reid Spencer [Wed, 4 Apr 2007 06:44:18 +0000 (06:44 +0000)]
For PR1302:
Use local variable names that match the function parameter name that it
is passed to so the code is more clear, to wit: is_bytecode -> is_native

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

17 years agoFix comment.
Duncan Sands [Wed, 4 Apr 2007 06:42:45 +0000 (06:42 +0000)]
Fix comment.

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

17 years agoFor PR1302:
Reid Spencer [Wed, 4 Apr 2007 06:34:22 +0000 (06:34 +0000)]
For PR1302:
Rename LinkItems as NativeLinkItems since it is filled out by the Linker
library to contain only those items deemed to be native.

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

17 years agoFor PR1302:
Reid Spencer [Wed, 4 Apr 2007 06:33:17 +0000 (06:33 +0000)]
For PR1302:
Implement file tests for both LinkInLibrary and LinkInFile to determine if
the file is native. Don't generate warnings if the file is native.

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

17 years agoMake the LinkInFile and LinkInLibrary both return an indication of whether
Reid Spencer [Wed, 4 Apr 2007 06:32:01 +0000 (06:32 +0000)]
Make the LinkInFile and LinkInLibrary both return an indication of whether
the file was found to be a native library (and thus not linked by these
functions).

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

17 years agoFor PR1302:
Reid Spencer [Wed, 4 Apr 2007 06:31:04 +0000 (06:31 +0000)]
For PR1302:
Adjust useage of sys::Path::FileType for new enumerator names.

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

17 years agoFor PR1302:
Reid Spencer [Wed, 4 Apr 2007 06:30:26 +0000 (06:30 +0000)]
For PR1302:
Implement recognition of COFF, ELF and Mach-O object/shared lib files.

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

17 years agoFor PR1302:
Reid Spencer [Wed, 4 Apr 2007 06:29:49 +0000 (06:29 +0000)]
For PR1302:
Make the FileType enumerators more readable and add COFF, ELF and Mach-O.

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

17 years agotrivial optimization
Chris Lattner [Wed, 4 Apr 2007 06:18:21 +0000 (06:18 +0000)]
trivial optimization

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

17 years agoAppease Chris' pedantic streak.
Reid Spencer [Wed, 4 Apr 2007 05:46:04 +0000 (05:46 +0000)]
Appease Chris' pedantic streak.

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

17 years agoFix links to intrinsic functions outside LangRef.html
Reid Spencer [Wed, 4 Apr 2007 04:14:31 +0000 (04:14 +0000)]
Fix links to intrinsic functions outside LangRef.html

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

17 years agoRemove intrinsics that we will not be implementing.
Reid Spencer [Wed, 4 Apr 2007 02:42:35 +0000 (02:42 +0000)]
Remove intrinsics that we will not be implementing.
Fix the anchor names of intrinsics to all be int_ so as to distinguish
them from the i_ prefix reserved for instructions.

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

17 years agouse calloc instead of new/memset, it is more efficient
Chris Lattner [Wed, 4 Apr 2007 00:44:31 +0000 (00:44 +0000)]
use calloc instead of new/memset, it is more efficient

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

17 years agoInitialize the symbol table to zero explicitly. This ensures that the
Chris Lattner [Wed, 4 Apr 2007 00:30:49 +0000 (00:30 +0000)]
Initialize the symbol table to zero explicitly.  This ensures that the
symbol table does no allocations for prototypes or other lazily deserialized
functions, saving significant space and time.

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

17 years agoExtend StringMap to support being initialized as completely empty. When
Chris Lattner [Wed, 4 Apr 2007 00:29:37 +0000 (00:29 +0000)]
Extend StringMap to support being initialized as completely empty.  When
initialized this way, they do not do a malloc to allocate their buckets.

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

17 years agoNew asm test case.
Evan Cheng [Wed, 4 Apr 2007 00:15:17 +0000 (00:15 +0000)]
New asm test case.

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

17 years agoImplement inline asm modifier P.
Evan Cheng [Wed, 4 Apr 2007 00:13:29 +0000 (00:13 +0000)]
Implement inline asm modifier P.

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

17 years agoTypo.
Evan Cheng [Wed, 4 Apr 2007 00:06:07 +0000 (00:06 +0000)]
Typo.

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

17 years agoAdding more MMX instructions.
Bill Wendling [Tue, 3 Apr 2007 23:48:32 +0000 (23:48 +0000)]
Adding more MMX instructions.

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

17 years agomake a new missing features section
Chris Lattner [Tue, 3 Apr 2007 23:41:34 +0000 (23:41 +0000)]
make a new missing features section

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

17 years agoNew test case.
Evan Cheng [Tue, 3 Apr 2007 23:40:54 +0000 (23:40 +0000)]
New test case.

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

17 years agoRemove unused constant pool entries.
Evan Cheng [Tue, 3 Apr 2007 23:39:48 +0000 (23:39 +0000)]
Remove unused constant pool entries.

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

17 years agoUpdated
Bill Wendling [Tue, 3 Apr 2007 23:37:20 +0000 (23:37 +0000)]
Updated

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

17 years agoFix a bug I introduced with my patch yesterday which broke Qt (I converted
Chris Lattner [Tue, 3 Apr 2007 23:29:39 +0000 (23:29 +0000)]
Fix a bug I introduced with my patch yesterday which broke Qt (I converted
some constant exprs to apints).

Thanks to Anton for tracking down a small testcase that triggered this!

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

17 years agogreatly reduce hte default size of stringmap.
Chris Lattner [Tue, 3 Apr 2007 22:15:38 +0000 (22:15 +0000)]
greatly reduce hte default size of stringmap.

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

17 years agomove these to FrontendAda
Chris Lattner [Tue, 3 Apr 2007 21:48:02 +0000 (21:48 +0000)]
move these to FrontendAda

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

17 years agotestcase for recent bugfix
Chris Lattner [Tue, 3 Apr 2007 21:47:36 +0000 (21:47 +0000)]
testcase for recent bugfix

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

17 years agomove ada tests
Chris Lattner [Tue, 3 Apr 2007 21:46:22 +0000 (21:46 +0000)]
move ada tests

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

17 years agoNew test case.
Evan Cheng [Tue, 3 Apr 2007 21:38:03 +0000 (21:38 +0000)]
New test case.

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

17 years agoFixed a bug that causes codegen of noop like add r0, r0, #0.
Evan Cheng [Tue, 3 Apr 2007 21:31:21 +0000 (21:31 +0000)]
Fixed a bug that causes codegen of noop like add r0, r0, #0.

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

17 years agoreinstate the previous two patches, with a bugfix :)
Chris Lattner [Tue, 3 Apr 2007 17:43:25 +0000 (17:43 +0000)]
reinstate the previous two patches, with a bugfix :)

ldecod now passes.

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

17 years agoStarting implementation of the ELF32 ABI specification of varargs handling.
Nicolas Geoffray [Tue, 3 Apr 2007 13:59:52 +0000 (13:59 +0000)]
Starting implementation of the ELF32 ABI specification of varargs handling.
LowerVASTART emits the right code if the subtarget is ELF32, the other intrinsics
(VAARG, VACOPY and VAEND) are not yet implemented.

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

17 years agoThe PPC64 ELF ABI is "intended to use the same structure layout and calling conventio...
Nicolas Geoffray [Tue, 3 Apr 2007 12:35:28 +0000 (12:35 +0000)]
The PPC64 ELF ABI is "intended to use the same structure layout and calling convention rules
as the 64-bit PowerOpen ABI" (Reference http://www.linux-foundation.org/spec/ELF/ppc64/).
Change all ELF tests to ELF32.

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

17 years agoAddition to the previous commit for getCalleeSavedRegClasses:
Nicolas Geoffray [Tue, 3 Apr 2007 10:57:49 +0000 (10:57 +0000)]
Addition to the previous commit for getCalleeSavedRegClasses:

"The ELF ABI specifies F1-F8 registers as argument registers for double, not
F1-F10. This affects only ELF, not MachO."

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

17 years agoThe ELF ABI specifies F1-F8 registers as argument registers for double, not
Nicolas Geoffray [Tue, 3 Apr 2007 10:27:07 +0000 (10:27 +0000)]
The ELF ABI specifies F1-F8 registers as argument registers for double, not
F1-F10. This affects only ELF, not MachO.

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

17 years agoPrepare for Subversion migration by implementing a -usesvn to tell the
Reid Spencer [Tue, 3 Apr 2007 08:28:44 +0000 (08:28 +0000)]
Prepare for Subversion migration by implementing a -usesvn to tell the
script to to check out llvm and llvm-test from Subversion instead of CVS.
Without this option the script will continue to check out from CVS. To
specify the Subversion URL, set the SVNURL environment variable or pass
-svnurl followed by the URL. For now, -svnurl will default to Reid's
temporary (read-only, daily snapshot) SVN server. Try it out if you like!

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

17 years agoReverting back to 1.723. The last two commits broke JM (and possibily others) on...
Evan Cheng [Tue, 3 Apr 2007 08:11:50 +0000 (08:11 +0000)]
Reverting back to 1.723. The last two commits broke JM (and possibily others) on ARM.

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

17 years agoInverted logic.
Evan Cheng [Tue, 3 Apr 2007 06:44:25 +0000 (06:44 +0000)]
Inverted logic.

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

17 years agoBad bad bug. findRegisterUseOperand() returns -1 if a use if not found.
Evan Cheng [Tue, 3 Apr 2007 06:43:29 +0000 (06:43 +0000)]
Bad bad bug. findRegisterUseOperand() returns -1 if a use if not found.

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

17 years agoChanged to new MMX_ recipes.
Bill Wendling [Tue, 3 Apr 2007 06:18:31 +0000 (06:18 +0000)]
Changed to new MMX_ recipes.

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

17 years agoAdd FEMMS and ADDQ. Renamed MMX recipes to prepend the MMX_ to them.
Bill Wendling [Tue, 3 Apr 2007 06:00:37 +0000 (06:00 +0000)]
Add FEMMS and ADDQ. Renamed MMX recipes to prepend the MMX_ to them.

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

17 years agosplit some code out into a helper function
Chris Lattner [Tue, 3 Apr 2007 05:11:24 +0000 (05:11 +0000)]
split some code out into a helper function

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

17 years agoSplit a whole ton of code out of visitICmpInst into visitICmpInstWithInstAndIntCst.
Chris Lattner [Tue, 3 Apr 2007 04:46:52 +0000 (04:46 +0000)]
Split a whole ton of code out of visitICmpInst into visitICmpInstWithInstAndIntCst.

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

17 years agoadd missing operator
Chris Lattner [Tue, 3 Apr 2007 04:25:46 +0000 (04:25 +0000)]
add missing operator

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

17 years agoFix PR1253 and xor2.ll:test[01]
Chris Lattner [Tue, 3 Apr 2007 01:47:41 +0000 (01:47 +0000)]
Fix PR1253 and xor2.ll:test[01]

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

17 years agonew testcase for PR1253
Chris Lattner [Tue, 3 Apr 2007 01:45:32 +0000 (01:45 +0000)]
new testcase for PR1253

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

17 years agoadd a helper function to constantint.
Chris Lattner [Tue, 3 Apr 2007 01:41:34 +0000 (01:41 +0000)]
add a helper function to constantint.

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

17 years agoArm supports negative strides as well, add them. This lets us compile:
Chris Lattner [Tue, 3 Apr 2007 00:13:57 +0000 (00:13 +0000)]
Arm supports negative strides as well, add them.  This lets us compile:
CodeGen/ARM/arm-negative-stride.ll to:

LBB1_2: @bb
        str r1, [r3, -r0, lsl #2]
        add r0, r0, #1
        cmp r0, r2
        bne LBB1_2      @bb

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

17 years agonew testcase, where we should use a negative stride
Chris Lattner [Tue, 3 Apr 2007 00:13:16 +0000 (00:13 +0000)]
new testcase, where we should use a negative stride

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

17 years agoallow -1 strides to reuse "1" strides.
Chris Lattner [Mon, 2 Apr 2007 22:51:58 +0000 (22:51 +0000)]
allow -1 strides to reuse "1" strides.

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

17 years agoAdd a regtest for cases we now recognize as rotates, thanks to Scott Michel's
Chris Lattner [Mon, 2 Apr 2007 22:08:54 +0000 (22:08 +0000)]
Add a regtest for cases we now recognize as rotates, thanks to Scott Michel's
recent dagcombine patch

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

17 years ago1. Insert custom lowering hooks for ISD::ROTR and ISD::ROTL.
Scott Michel [Mon, 2 Apr 2007 21:36:32 +0000 (21:36 +0000)]
1. Insert custom lowering hooks for ISD::ROTR and ISD::ROTL.

2. Help DAGCombiner recognize zero/sign/any-extended versions of ROTR and ROTL
patterns. This was motivated by the X86/rotate.ll testcase, which should now
generate code for other platforms (and soon-to-come platforms.) Rewrote code
slightly to make it easier to read.

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

17 years agofix this testcase so it passes
Chris Lattner [Mon, 2 Apr 2007 20:46:28 +0000 (20:46 +0000)]
fix this testcase so it passes

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

17 years agofix this testcase on ppc hosts
Chris Lattner [Mon, 2 Apr 2007 20:39:48 +0000 (20:39 +0000)]
fix this testcase on ppc hosts

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

17 years agofix off by 1 error in displacement computation
Dale Johannesen [Mon, 2 Apr 2007 20:31:06 +0000 (20:31 +0000)]
fix off by 1 error in displacement computation

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

17 years agofix the CodeGen/ARM/2007-03-13-InstrSched.ll regression: allow IV's with scales
Chris Lattner [Mon, 2 Apr 2007 18:51:18 +0000 (18:51 +0000)]
fix the CodeGen/ARM/2007-03-13-InstrSched.ll regression: allow IV's with scales
to be folded into non-store instructions.

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

17 years agoUgh. Copy coalescer does not update register numbers.
Evan Cheng [Mon, 2 Apr 2007 18:49:18 +0000 (18:49 +0000)]
Ugh. Copy coalescer does not update register numbers.

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

17 years agoNew test case.
Evan Cheng [Mon, 2 Apr 2007 18:47:13 +0000 (18:47 +0000)]
New test case.

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

17 years agoadd support for the 'w' inline asm register class.
Chris Lattner [Mon, 2 Apr 2007 17:24:08 +0000 (17:24 +0000)]
add support for the 'w' inline asm register class.

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

17 years agoUpdate example notes to clarify system linker's role.
Devang Patel [Mon, 2 Apr 2007 16:54:12 +0000 (16:54 +0000)]
Update example notes to clarify system linker's role.

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

17 years agoRegenerate.
Reid Spencer [Mon, 2 Apr 2007 15:41:39 +0000 (15:41 +0000)]
Regenerate.

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

17 years agoCheck for .svn directories too to determine if a debug build is appropriate.
Reid Spencer [Mon, 2 Apr 2007 15:40:39 +0000 (15:40 +0000)]
Check for .svn directories too to determine if a debug build is appropriate.

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

17 years ago1. Make use of APInt operation instead of using ConstantExpr::getXXX.
Zhou Sheng [Mon, 2 Apr 2007 13:45:30 +0000 (13:45 +0000)]
1. Make use of APInt operation instead of using ConstantExpr::getXXX.
2. Use cheaper APInt methods.

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

17 years agoUse uint32_t for bitwidth instead of unsigned.
Zhou Sheng [Mon, 2 Apr 2007 08:20:41 +0000 (08:20 +0000)]
Use uint32_t for bitwidth instead of unsigned.

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

17 years agoPass the type of the store access, not the type of the store, into the
Chris Lattner [Mon, 2 Apr 2007 06:34:44 +0000 (06:34 +0000)]
Pass the type of the store access, not the type of the store, into the
target hook.  This allows us to codegen a loop as:

LBB1_1: @cond_next
        mov r2, #0
        str r2, [r0, +r3, lsl #2]
        add r3, r3, #1
        cmn r3, #1
        bne LBB1_1      @cond_next

instead of:

LBB1_1: @cond_next
        mov r2, #0
        str r2, [r0], #+4
        add r3, r3, #1
        cmn r3, #1
        bne LBB1_1      @cond_next

This looks the same, but has one fewer induction variable (and therefore,
one fewer register) live in the loop.

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

17 years agonew testcase.
Chris Lattner [Mon, 2 Apr 2007 06:33:10 +0000 (06:33 +0000)]
new testcase.

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

17 years agoFix a bug which caused us to never be able to use signed comparisons for
Chris Lattner [Mon, 2 Apr 2007 05:59:42 +0000 (05:59 +0000)]
Fix a bug which caused us to never be able to use signed comparisons for
equality comparisons of a constant.  This allows us to codegen the 'sintzero'
loop in PR1288 as:

LBB1_1: ;cond_next
        li r4, 0
        addi r2, r2, 1
        stw r4, 0(r3)
        addi r3, r3, 4
        cmpwi cr0, r2, -1
        bne cr0, LBB1_1 ;cond_next

instead of:

LBB1_1: ;cond_next
        addi r2, r2, 1
        li r4, 0
        xoris r5, r2, 65535
        stw r4, 0(r3)
        addi r3, r3, 4
        cmplwi cr0, r5, 65535
        bne cr0, LBB1_1 ;cond_next

This implements CodeGen/PowerPC/compare-simm.ll, and also cuts 74
instructions out of kc++.

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

17 years agonew testcase
Chris Lattner [Mon, 2 Apr 2007 05:57:59 +0000 (05:57 +0000)]
new testcase

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

17 years agoWrap long line
Chris Lattner [Mon, 2 Apr 2007 05:48:58 +0000 (05:48 +0000)]
Wrap long line

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

17 years agouse more obvious function name.
Chris Lattner [Mon, 2 Apr 2007 05:42:22 +0000 (05:42 +0000)]
use more obvious function name.

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

17 years agoTreat xor of signbit like an add.
Chris Lattner [Mon, 2 Apr 2007 05:41:38 +0000 (05:41 +0000)]
Treat xor of signbit like an add.

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

17 years agoadd a helper function.
Chris Lattner [Mon, 2 Apr 2007 05:41:00 +0000 (05:41 +0000)]
add a helper function.

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

17 years agosimplify (x+c)^signbit as (x+c+signbit), pointed out by PR1288. This implements
Chris Lattner [Mon, 2 Apr 2007 05:36:22 +0000 (05:36 +0000)]
simplify (x+c)^signbit as (x+c+signbit), pointed out by PR1288.  This implements
test/Transforms/InstCombine/xor.ll:test28

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