Commit Graph

1373 Commits

Author SHA1 Message Date
Reid Spencer
832254e1c2 Changes to support making the shift instructions be true BinaryOperators.
This feature is needed in order to support shifts of more than 255 bits
on large integer types.  This changes the syntax for llvm assembly to
make shl, ashr and lshr instructions look like a binary operator:
   shl i32 %X, 1
instead of
   shl i32 %X, i8 1
Additionally, this should help a few passes perform additional optimizations.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33776 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-02 02:16:23 +00:00
Reid Spencer
eb58a4826e My mistake, my environment wasn't up to date. This passes now.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33769 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-01 22:26:42 +00:00
Reid Spencer
fa99eca959 XFAIL this on x86 linux as it continues to fail.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33768 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-01 22:10:46 +00:00
Evan Cheng
ac94c58319 Add a test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33742 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-01 02:27:24 +00:00
Evan Cheng
f97e5420cb Added a thumb vararg test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33740 91177308-0d34-0410-b5e6-96231b3b80d8
2007-02-01 01:56:43 +00:00
Evan Cheng
894432c505 Fix test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33730 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-31 23:51:35 +00:00
Evan Cheng
100c210523 Fix test cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33725 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-31 22:27:07 +00:00
Lauro Ramos Venancio
b5b84f92bf ARM fix: Miscompilation when frame pointer can't be eliminated. Uninitialized frame pointer register is used.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33703 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-31 13:12:46 +00:00
Evan Cheng
f08c0eab15 Combine two tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33668 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-30 23:06:22 +00:00
Reid Spencer
908504347b For PR411:
Update these tests to not use the same name even though the type of the
value differs. After PR411 hits, type planes will be gone and it will be
illegal for a name to be used twice, regardless of type.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33660 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-30 16:16:01 +00:00
Evan Cheng
c9670d3cbc Add / merge tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33654 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-30 03:06:19 +00:00
Evan Cheng
7fd9b5ed7f Thumb tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33561 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 00:05:14 +00:00
Evan Cheng
1091a97107 Merge tests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33560 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-27 00:04:57 +00:00
Reid Spencer
e3ff5ada8a For PR761:
Remove "target endian/pointersize" or add "target datalayout" to make
the test parse properly or set the datalayout because defaults changes.

For PR645:
Make global names use the @ prefix.

For llvm-upgrade changes:
Fix test cases or completely remove use of llvm-upgrade for test cases
that cannot survive the new renaming or upgrade capabilities.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33533 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-26 08:25:06 +00:00
Lauro Ramos Venancio
b9329e01a4 fix fcopysign test
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33503 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-25 22:11:02 +00:00
Evan Cheng
06c2552830 Added some load from stack frames test cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33473 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-24 02:27:03 +00:00
Evan Cheng
9e38e32dcd Thumb test cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33471 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-23 23:28:50 +00:00
Evan Cheng
7c3992f9c0 Thumb test cases.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33468 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-23 22:47:58 +00:00
Evan Cheng
07700d123e Make it work for both Linux and Mac OS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33451 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-22 23:18:10 +00:00
Evan Cheng
f3bf908031 Pasto
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33444 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-22 23:01:22 +00:00
Evan Cheng
8a67cdc5eb Fix test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33432 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-22 18:57:39 +00:00
Evan Cheng
4be24ed9ce Add test case extracted from lencod. Spiller was infinite looping in GetRegForReload().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33383 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-19 22:43:14 +00:00
Evan Cheng
02b985c50f ARM test cases contributed by Apple.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33354 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-19 09:20:23 +00:00
Reid Spencer
737ec5130e For PR1043:
Bye, Bye Booly. Remove the use of the bool type from non-upgraded test
cases and from grep expressions. The parser doesn't accept it and the
asm writer doesn't produce it any more.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33183 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-13 05:06:52 +00:00
Lauro Ramos Venancio
5293e7d5d6 Don't add or sub zero to sp.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33142 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-12 20:52:27 +00:00
Lauro Ramos Venancio
a38bbf7dd3 Build constants using instructions mov/orr or mvn/eor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33141 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-12 20:35:49 +00:00
Reid Spencer
90dd87195e Globals are not being renamed any more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32917 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 17:39:54 +00:00
Reid Spencer
ab7b74a3fa This test case has been translated to 2.0 assembly so don't run
llvm-upgrade on it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32916 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-05 17:39:07 +00:00
Lauro Ramos Venancio
b2a69a1923 Add test for constructor and destructor sections.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32873 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-04 14:41:33 +00:00
Lauro Ramos Venancio
30b51d90f4 Add extload(i1) test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32872 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-04 14:27:21 +00:00
Lauro Ramos Venancio
4c6676c918 Add test for FCOPYSIGN.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32871 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-04 14:24:32 +00:00
Reid Spencer
f6dc65f672 Update test cases that grepped for register names that have now changed
as a result of llvm-upgrade handling collapsed type planes better.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32849 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-03 23:47:29 +00:00
Reid Spencer
7e6b4f7a6d For PR1070:
Tweak the RUN: lines of these tests to accommodate the renaming of
variables done by llvm-upgrade. The renaming occurs as a result of avoiding
name collisons for collapsed type planes. Conflicting names have a .u
(unsigned) or .s (signed) suffix added. This patch updates the grep
expression to accommodate the new names.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32815 91177308-0d34-0410-b5e6-96231b3b80d8
2007-01-02 05:55:05 +00:00
Rafael Espindola
9985f9f61e implement missing compares
patch by Lauro
bug fixed by me


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32795 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-31 18:52:39 +00:00
Reid Spencer
eacb7020ec For PR950:
Update the test suite to accommodate the change from signed integer types
to signless integer types. The changes were of only a few kinds:

1. Make sure llvm-upgrade is run on the source which does the bulk of the
   changes automatically.

2. Change things like "grep 'int'" to "grep 'i32'"

3. In several tests bitcasting caused the same name to be reused in the
   same type plane. These had to be manually fixed. The fix was (generally)
   to leave the bitcast and provide the instruction with a new name. This
   should not affect the semantics of the test. In a few cases, the
   bitcasts were known to be superfluous and irrelevant to the test case
   so they were removed.

4. One test case uses a bytecode file which needed to be updated to the
   latest bytecode format.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32789 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-31 06:02:00 +00:00
Reid Spencer
73e70822ae Update tests that need to be run through llvm-upgrade. This is necessary
for upcoming changes to the llvm assembly grammar.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32768 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-29 20:01:32 +00:00
Rafael Espindola
8897a7b02e avoid using a constant table when a constant can be used inline
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32580 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-14 18:58:37 +00:00
Rafael Espindola
15f17a7c47 Avoid creating invalid sub/add instructions on the prolog/epilog
patch by Lauro


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32577 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-14 13:31:27 +00:00
Rafael Espindola
a898ce687a more general matching of the MVN instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32484 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-12 17:10:13 +00:00
Rafael Espindola
2426775c81 don't use "ordinary" addressing mode 1 when mvn is appropriate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32482 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-12 14:03:29 +00:00
Rafael Espindola
f64945d83c use MVN to handle small negative constants
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32459 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-12 01:03:11 +00:00
Rafael Espindola
450856d01b add mvn
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32454 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-12 00:37:38 +00:00
Rafael Espindola
796cbd87b4 .align is in bits
.comm is in bytes
:-(


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32408 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-10 02:53:14 +00:00
Rafael Espindola
5b24426375 use a . instead of a % in the grep expression
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32406 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-09 21:21:06 +00:00
Rafael Espindola
0ec729ef2d %progbits not @progbits
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32376 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-08 22:06:02 +00:00
Rafael Espindola
33dec797c3 add missing &&
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32374 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-08 21:43:02 +00:00
Rafael Espindola
1366626e08 add \"aw\",@progbits" to ctors and dtors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32373 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-08 21:24:58 +00:00
Rafael Espindola
1c411dee4f fix alignment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32337 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-07 22:38:06 +00:00
Rafael Espindola
7367d05cb7 make sure that we don't use a common symbol if a section was specified
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32310 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-07 18:33:58 +00:00
Rafael Espindola
392b1b2ef3 print weak references
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32276 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-06 13:35:10 +00:00
Rafael Espindola
97815c6b9c expand memmove and memcpy
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32226 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-05 17:57:23 +00:00
Rafael Espindola
462af9a2e0 add support for the "r" asm constraint
patch by Lauro Ramos Venancio


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32224 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-05 17:37:31 +00:00
Rafael Espindola
204b0c2ca0 add support for weak linkage
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32222 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-05 17:00:17 +00:00
Reid Spencer
69ccadd753 Use the llvm-upgrade program to upgrade llvm assembly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32115 91177308-0d34-0410-b5e6-96231b3b80d8
2006-12-02 04:23:10 +00:00
Rafael Espindola
b191e0ab51 add support for calling functions when the caller has variable sized objects
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31312 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-31 13:03:26 +00:00
Reid Spencer
f5d913409d Improve cvs ignoring of test results.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31217 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-27 16:43:34 +00:00
Reid Spencer
8b93a9c609 Add a run line to this test.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31211 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-27 05:30:23 +00:00
Rafael Espindola
7ae68ab3bc initial support for frame pointers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31197 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-26 13:31:26 +00:00
Rafael Espindola
0e5e3aacbe expand ISD::VACOPY
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31170 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-24 20:15:21 +00:00
Rafael Espindola
c391d16b49 implement STRB and STRH
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31138 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-23 20:34:27 +00:00
Rafael Espindola
b97809c9a7 print common symbols
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31048 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-19 13:30:40 +00:00
Rafael Espindola
71d94d8817 add blx
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31037 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-18 16:21:43 +00:00
Rafael Espindola
5f1b698aeb implement CallingConv::Fast as CallingConv::C
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31034 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-18 12:03:07 +00:00
Rafael Espindola
226f8bc38c expand ISD::SDIV, ISD::UDIV, ISD::SREM and ISD::UREM
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31014 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 21:05:33 +00:00
Rafael Espindola
c01c87c8ba add FABSS and FABSD
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31012 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 20:33:13 +00:00
Rafael Espindola
278dbaa17f cleanup some tests
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31010 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 20:20:07 +00:00
Rafael Espindola
3f3a6f6c3b remove extra [] in stores
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31008 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 18:29:14 +00:00
Rafael Espindola
32bd5f4f6a initial implementation of addressing mode 5
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31002 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 18:04:53 +00:00
Rafael Espindola
0d479ecbb1 add the immediate to the Offset in eliminateFrameIndex
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30998 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 14:34:02 +00:00
Rafael Espindola
f621abca9e add FSTD and FSTS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30996 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-17 13:36:07 +00:00
Rafael Espindola
a605be69c3 add fdivs e fdivd
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30988 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16 21:50:04 +00:00
Rafael Espindola
0505be03ad expand ISD::SHL_PARTS, ISD::SRA_PARTS and ISD::SRL_PARTS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30987 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16 21:10:32 +00:00
Rafael Espindola
82c678b83c implement LDRB, LDRSB, LDRH and LDRSH
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30976 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16 17:17:22 +00:00
Rafael Espindola
bec2e38a91 implement smull and umull
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30975 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-16 16:33:29 +00:00
Rafael Espindola
6c5ae3edd3 fix some fp condition codes
use non trapping comparison instructions


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30962 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-14 13:42:53 +00:00
Rafael Espindola
33d06bcfd4 add FNEGS and FNEGD
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30932 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-13 17:37:35 +00:00
Rafael Espindola
5395538307 add SBCS and SUBS
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30930 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-13 17:19:20 +00:00
Rafael Espindola
26a76d1024 implement calls to functions that return long
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30929 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-13 16:47:22 +00:00
Rafael Espindola
42b62f3f81 implement unordered floating point compares
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30928 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-13 13:14:59 +00:00
Rafael Espindola
493a7fc5c3 uint <-> double conversion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30862 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-10 20:38:57 +00:00
Rafael Espindola
667c349feb add fp sub
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30859 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-10 19:35:01 +00:00
Rafael Espindola
b47e1d033c add double <-> int conversion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30858 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-10 18:55:14 +00:00
Rafael Espindola
0d9fe764df compare doubles
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30856 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-10 16:33:47 +00:00
Rafael Espindola
fb6abd7dea add some tests for floating point compare
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30855 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-10 14:26:06 +00:00
Rafael Espindola
ff7e63cf7a add some tests for floating point arithmetic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30840 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-09 19:15:17 +00:00
Rafael Espindola
2dc0f2b55c add float -> double and double -> float conversion
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30835 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-09 17:50:29 +00:00
Rafael Espindola
2d8680a34b add a test for adds adcs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30832 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-09 17:30:15 +00:00
Rafael Espindola
e5bbd6d753 implement FUITOS and FUITOD
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30803 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07 14:24:52 +00:00
Rafael Espindola
5aca927ae6 implement FLDD
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30802 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-07 14:03:39 +00:00
Rafael Espindola
614057b843 add support for calling functions that return double
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30771 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-06 19:10:05 +00:00
Rafael Espindola
af1dabef35 fix some bugs affecting functions with no arguments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30767 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-06 17:26:30 +00:00
Rafael Espindola
4a408d46d4 add support for calling functions that have double arguments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30765 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-06 12:50:22 +00:00
Rafael Espindola
a284584352 implement a ArgumentLayout class to factor code common to LowerFORMAL_ARGUMENTS and LowerCALL
implement FMDRR
add support for f64 function arguments


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30754 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-05 16:48:49 +00:00
Rafael Espindola
cd71da5cf0 Implement floating point constants
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30704 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-03 17:27:58 +00:00
Rafael Espindola
9e071f0ae3 fix the names of the 64bit fp register
initial support for returning 64bit floating point numbers


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30692 91177308-0d34-0410-b5e6-96231b3b80d8
2006-10-02 19:30:56 +00:00
Rafael Espindola
27185190e6 add floating point registers
implement SINT_TO_FP


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30673 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-29 21:20:16 +00:00
Rafael Espindola
ebdabda708 more condition codes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30567 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-21 13:06:26 +00:00
Rafael Espindola
7246d33e2a if a constant can't be an immediate, add it to the constant pool
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30566 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-21 11:29:52 +00:00
Rafael Espindola
71f3b94fa8 Implement a MachineFunctionPass to fix the mul instruction
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30485 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-19 15:49:25 +00:00
Rafael Espindola
0a200600e7 implement shl and sra
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30191 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-08 17:36:23 +00:00
Rafael Espindola
e246fd953e fix select.ll to always test a select node
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30187 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-08 12:52:50 +00:00
Rafael Espindola
5c2aa0a4d8 implement unconditional branches
fix select.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30186 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-08 12:47:03 +00:00
Chris Lattner
81fe06a112 This fails
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30148 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-07 17:43:59 +00:00
Rafael Espindola
3a02f020eb add support for returning 64bit values
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30103 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-04 19:05:01 +00:00
Rafael Espindola
bc4cec9a62 add the SETULT condition code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30067 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-03 13:19:16 +00:00
Rafael Espindola
5f450d2948 add more condition codes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30056 91177308-0d34-0410-b5e6-96231b3b80d8
2006-09-02 20:24:25 +00:00
Rafael Espindola
389dae20ea test case for varargs functions
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29877 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-25 17:57:36 +00:00
Rafael Espindola
687bc49d1a initial support for branches
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29854 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-24 13:45:55 +00:00
Rafael Espindola
d520dd7a24 run llc with -march=arm in select.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29821 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-22 16:19:54 +00:00
Chris Lattner
0af617fa32 This passes.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29813 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-22 06:43:24 +00:00
Reid Spencer
20486a5fc7 Use the correct syntax.
Note to self: test before committing things!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29810 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-22 05:40:51 +00:00
Reid Spencer
d989e6dcc9 Add a simple RUN line so this doesn't always fail. XFAIL this until
Rafael can get a chance to fix it.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29809 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-22 05:37:43 +00:00
Rafael Espindola
3c000bf817 initial support for select
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29802 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-21 22:00:32 +00:00
Rafael Espindola
f3a335cedf add a "load effective address"
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29748 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-17 17:09:40 +00:00
Rafael Espindola
61369da0e5 select code like
ldr rx, [ry, #offset]


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29664 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-14 19:01:24 +00:00
Rafael Espindola
7a53bd0890 fix the spill code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29583 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-09 16:41:12 +00:00
Rafael Espindola
1a00946817 initial support for variable number of arguments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29567 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-08 13:02:29 +00:00
Rafael Espindola
341b864c8d use a 'register pressure reducing' scheduler
make sure only one move is used in a hello world


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29520 91177308-0d34-0410-b5e6-96231b3b80d8
2006-08-04 12:48:42 +00:00
Rafael Espindola
fac00a93a9 implement function calling of functions with up to 4 arguments
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29274 91177308-0d34-0410-b5e6-96231b3b80d8
2006-07-25 20:17:20 +00:00
Rafael Espindola
58421d7d08 initial implementation of ARMRegisterInfo::eliminateFrameIndex
fixes test/Regression/CodeGen/ARM/ret_arg5.ll


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28854 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-18 00:08:07 +00:00
Chris Lattner
88a96252ee This test isn't implemented yet
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28820 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-16 16:36:50 +00:00
Rafael Espindola
5482ef3722 added some tests for argument passing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28644 91177308-0d34-0410-b5e6-96231b3b80d8
2006-06-01 22:01:25 +00:00
Rafael Espindola
2776bd1d2a create test/Regression/CodeGen/ARM/ and add a minimal test to it
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28468 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-25 10:49:19 +00:00