Nate Begeman
cfd9883301
Add testcase for recent legalizer change
...
llvm-svn: 47049
2008-02-13 06:48:40 +00:00
Evan Cheng
19f684ed72
Determine whether a spill kills the register it's spilling before insertion rather than trying to undo the kill marker afterwards.
...
llvm-svn: 46953
2008-02-11 08:30:52 +00:00
Evan Cheng
69d5e0fc0f
If a vr is already marked alive in a bb, then it has PHI uses that are visited earlier, then it is not killed in the def block (i.e. not dead).
...
llvm-svn: 46763
2008-02-05 20:04:18 +00:00
Chris Lattner
35f063e37c
Add target triples to these so they don't fail on linux.
...
llvm-svn: 46496
2008-01-29 06:26:07 +00:00
Bill Wendling
26fb9335f5
Need to convert to LLVM code and not C.
...
llvm-svn: 46397
2008-01-26 06:56:08 +00:00
Bill Wendling
3e622b88b6
Rename the .c to .ll
...
llvm-svn: 46396
2008-01-26 06:53:40 +00:00
Bill Wendling
7151e8d92c
Move testcase to the code gen directory.
...
llvm-svn: 46395
2008-01-26 06:53:06 +00:00
Dale Johannesen
7807e86260
Implement flt_rounds for PowerPC.
...
llvm-svn: 46174
2008-01-18 19:55:37 +00:00
Chris Lattner
febc7ea9bf
Fix a latent bug exposed by my truncstore patch. We compiled stfiwx-2.ll to:
...
_test:
fctiwz f0, f1
stfiwx f0, 0, r4
blr
instead of:
_test:
fctiwz f0, f1
stfd f0, -8(r1)
nop
nop
lwz r2, -4(r1)
stb r2, 0(r4)
blr
The former is not correct (stores 4 bytes, not 1).
llvm-svn: 46161
2008-01-18 16:54:56 +00:00
Chris Lattner
3c9f208ca8
add testcase for regression
...
llvm-svn: 46073
2008-01-16 18:03:52 +00:00
Chris Lattner
aeab9aefb3
remove darwin/i386 t-t
...
llvm-svn: 45743
2008-01-08 06:52:51 +00:00
Chris Lattner
cafc567fb7
Finally implement correct ordered comparisons for PPC, even though
...
the code generated is not wonderful. This turns a miscompilation into
a code quality bug (noted in the ppc readme). This fixes PR642, which
is over 2 years old (!). Nate, please review this.
llvm-svn: 45742
2008-01-08 06:46:30 +00:00
Chris Lattner
e93a775a4d
Fix a significant code quality regression I introduced on PPC64 quite
...
a while ago. We now produce:
_foo:
mflr r0
std r0, 16(r1)
ld r2, 16(r1)
std r2, 0(r3)
ld r0, 16(r1)
mtlr r0
blr
instead of:
_foo:
mflr r0
std r0, 16(r1)
lis r0, 0
ori r0, r0, 16
ldx r2, r1, r0
std r2, 0(r3)
ld r0, 16(r1)
mtlr r0
blr
for:
void foo(void **X) {
*X = __builtin_return_address(0);
}
on ppc64.
llvm-svn: 44701
2007-12-08 07:04:58 +00:00
Chris Lattner
e16166b78d
implement __builtin_return_addr(0) on ppc.
...
llvm-svn: 44700
2007-12-08 06:59:59 +00:00
Chris Lattner
5e0cabc90e
Fix a crash on invalid code due to memcpy lowering.
...
llvm-svn: 44378
2007-11-27 22:14:42 +00:00
Chris Lattner
7672c08059
Testcase for PR1811
...
llvm-svn: 44244
2007-11-19 21:43:22 +00:00
Dale Johannesen
f2dcb50351
Testcase from PR 1508 (although its's somewhat
...
orthogonal to the main problem there)
llvm-svn: 44194
2007-11-16 23:16:35 +00:00
Evan Cheng
28c61e33a4
Skip over deleted val#'s.
...
llvm-svn: 43700
2007-11-05 06:46:45 +00:00
Bill Wendling
18b6321020
On second thought. Remove this as it should never be generated in the first
...
place.
llvm-svn: 43400
2007-10-26 20:34:37 +00:00
Bill Wendling
8d329ff809
- Remove the hacky code that forces a memcpy. Alignment is taken care of in the
...
FE.
- Explicitly pass in the alignment of the load & store.
- XFAIL 2007-10-23-UnalignedMemcpy.ll because llc has a bug that crashes on
unaligned pointers.
llvm-svn: 43398
2007-10-26 20:24:42 +00:00
Bill Wendling
a420d660c8
If there's an unaligned memcpy to/from the stack, don't lower it. Just call the
...
memcpy library function instead.
llvm-svn: 43270
2007-10-23 23:32:40 +00:00
Evan Cheng
0590c75f18
Temporary solution: added a different set of BCTRL_Macho / BCTRL_ELF with right callee-saved defs set for ppc64.
...
llvm-svn: 43248
2007-10-23 06:42:42 +00:00
Evan Cheng
85eb733eff
Use ptr type in the immediate field of a BxA instruction so we don't end up selecting 32-bit call instruction for ppc64.
...
llvm-svn: 43228
2007-10-22 19:46:19 +00:00
Bill Wendling
32c9cd9e94
Pointer arithmetic should be done with the index the same size as the pointer.
...
llvm-svn: 43120
2007-10-18 08:32:37 +00:00
Chris Lattner
45d9c7aa07
Fix a bug handling frame references in ppc inline asm when the frame offset
...
doesn't fit into 16 bits.
llvm-svn: 43032
2007-10-16 18:00:18 +00:00
Dale Johannesen
c7b51b678d
First round of ppc long double. call/return and
...
basic arithmetic works.
Rename RTLIB long double functions to distinguish
different flavors of long double; the lib functions
have different names, alas.
llvm-svn: 42644
2007-10-05 20:04:43 +00:00
Dan Gohman
27ab14af9b
Add explicit triples to avoid default behavior that varies by host.
...
llvm-svn: 41959
2007-09-14 20:37:18 +00:00
Evan Cheng
0d738fff6d
Fixed a typo that's causing a missing kill marker.
...
llvm-svn: 41893
2007-09-12 23:02:04 +00:00
Evan Cheng
b9a6798216
Sometimes a MI can define a register as well as defining a super-register at the
...
same time. Do not mark the "smaller" def as dead.
llvm-svn: 41871
2007-09-11 22:34:47 +00:00
Chris Lattner
5fd9bec89d
this is not infinite recursion.
...
llvm-svn: 41806
2007-09-10 21:16:23 +00:00
Dale Johannesen
9dfdc452d9
Implement misaligned FP loads and stores.
...
llvm-svn: 41786
2007-09-08 19:29:23 +00:00
Bill Wendling
04a6163921
Add missing index versions of instructions to the map.
...
llvm-svn: 41776
2007-09-07 22:01:02 +00:00
Dale Johannesen
f9ca7b6094
Change all floating constants that are not exactly
...
representable to use hex format.
llvm-svn: 41722
2007-09-05 17:50:36 +00:00
Bill Wendling
13549db795
Add the 64-bit versions of the DS* Altivec instructions.
...
llvm-svn: 41717
2007-09-05 04:05:20 +00:00
Evan Cheng
02c6081f2d
Fix for PR1613: added 64-bit rotate left PPC instructions and patterns.
...
llvm-svn: 41711
2007-09-04 20:20:29 +00:00
Andrew Lenharth
12f7bd64b4
update test to check that codegen works with llvm.used in llvm.metadata section
...
llvm-svn: 41289
2007-08-22 19:36:31 +00:00
Dan Gohman
794fa1f8f7
Convert tests using "| wc -l | grep ..." to use the count script.
...
llvm-svn: 41097
2007-08-15 13:36:28 +00:00
Evan Cheng
e10e5e71b4
Test case for PR1596.
...
llvm-svn: 41085
2007-08-14 23:21:10 +00:00
Chandler Carruth
00e56b0e81
This is the patch to provide clean intrinsic function overloading support in LLVM. It cleans up the intrinsic definitions and generally smooths the process for more complicated intrinsic writing. It will be used by the upcoming atomic intrinsics as well as vector and float intrinsics in the future.
...
This also changes the syntax for llvm.bswap, llvm.part.set, llvm.part.select, and llvm.ct* intrinsics. They are automatically upgraded by both the LLVM ASM reader and the bitcode reader. The test cases have been updated, with special tests added to ensure the automatic upgrading is supported.
llvm-svn: 40807
2007-08-04 01:51:18 +00:00
Chris Lattner
6a2ec7bcc8
new testcase
...
llvm-svn: 40636
2007-07-31 16:18:25 +00:00
Dan Gohman
375d541183
Fix a bug in getCopyFromParts turned up in the testcase for PR1132.
...
llvm-svn: 40598
2007-07-30 19:09:17 +00:00
Evan Cheng
ccd453c461
New test case.
...
llvm-svn: 40587
2007-07-30 07:52:03 +00:00
Reid Spencer
44d34e9b61
For PR1553:
...
Change the keywords for the zext and sext parameter attributes to be
zeroext and signext so they don't conflict with the keywords for the
instructions of the same name. This gets around the ambiguity.
llvm-svn: 40069
2007-07-19 23:13:04 +00:00
Dan Gohman
0c1259b7e4
Remove the trailing semicolon from function declarations in LLVM,
...
where it's interpreted as a comment, not part of the syntax.
llvm-svn: 39920
2007-07-16 13:37:30 +00:00
Gabor Greif
8a0024300f
these tests do not need a triple on Solaris. Thanks sabre!
...
llvm-svn: 39803
2007-07-13 10:08:18 +00:00
Gabor Greif
4f61fce837
fix the remaining 3 testcases that missed a target triple
...
llvm-svn: 39773
2007-07-12 13:21:08 +00:00
Dan Gohman
81cfdc2f19
Change getCopyToParts and getCopyFromParts to always use target-endian
...
register ordering, for both physical and virtual registers. Update the PPC
target lowering for calls to expect registers for the call result to
already be in target order.
llvm-svn: 38471
2007-07-09 20:59:04 +00:00
Chris Lattner
d1f424ccfb
add target triple to fix PR1546
...
llvm-svn: 38462
2007-07-09 17:14:58 +00:00
Dan Gohman
91b1ffd6c4
Add an explicit triple to the big-endian tests so that the assembly
...
output format is always consistent with what the greps are looking for.
llvm-svn: 37943
2007-07-06 13:15:51 +00:00
Evan Cheng
3974939d92
Fix test.
...
llvm-svn: 37928
2007-07-05 23:00:50 +00:00
Dan Gohman
90c6b87b31
Add a parameter to getCopyToParts and getCopyFromParts to specify whether
...
endian swapping should be done, and update the code to use it. This fixes
some register ordering issues on big-endian systems, such as PowerPC,
introduced by the recent illegal by-val arguments changes.
llvm-svn: 37921
2007-07-05 20:12:34 +00:00
John Criswell
57e5ed4b5a
Convert .cvsignore files
...
llvm-svn: 37801
2007-06-29 16:35:07 +00:00
Evan Cheng
a328677ae1
New test.
...
llvm-svn: 37791
2007-06-29 01:36:33 +00:00
Chris Lattner
932fba07e5
new testcase for PR1473
...
llvm-svn: 37361
2007-05-30 16:29:20 +00:00
Dale Johannesen
53a2f3b4e4
new testcases for -enable-tail-merge default handling
...
llvm-svn: 37287
2007-05-22 17:19:23 +00:00
Chris Lattner
26266f163a
new testcase
...
llvm-svn: 37245
2007-05-19 00:41:40 +00:00
Chris Lattner
a18749e96e
new testcase that crashes llc
...
llvm-svn: 37068
2007-05-15 01:33:12 +00:00
Chris Lattner
a4c8056268
new testcase
...
llvm-svn: 37053
2007-05-14 22:04:16 +00:00
Evan Cheng
bbb8e8f7cd
PR1399 test case.
...
llvm-svn: 36957
2007-05-09 19:20:37 +00:00
Chris Lattner
38370606b5
new testcase
...
llvm-svn: 36671
2007-05-03 16:54:08 +00:00
Reid Spencer
01a611f06a
Split target dependent test portions to target-specific directories.
...
llvm-svn: 36612
2007-05-01 02:56:15 +00:00
Chris Lattner
94eb923292
testcase for PR1357
...
llvm-svn: 36598
2007-04-30 21:10:13 +00:00
Reid Spencer
6045236615
For PR1370:
...
Rearrange some tests so that if PowerPC is not being built we don't try to
run PowerPC specific tests.
llvm-svn: 36587
2007-04-30 05:11:58 +00:00
Chris Lattner
f20a2f1083
testcase for PR1351
...
llvm-svn: 36409
2007-04-24 22:49:57 +00:00
Reid Spencer
6dbda77071
Use the llvm_supports_target function to prevent running of tests for
...
targets that LLVM is not configured to support.
llvm-svn: 36315
2007-04-21 20:41:27 +00:00
Chris Lattner
c09249e3ba
new testcase
...
llvm-svn: 36220
2007-04-17 21:12:26 +00:00
Chris Lattner
12ffa2d85a
new testcase
...
llvm-svn: 36211
2007-04-17 19:03:02 +00:00
Reid Spencer
df17fa8ef9
For PR1319:
...
Remove && from the end of the lines to prevent tests from throwing run
lines into the background. Also, clean up places where the same command
is run multiple times by using a temporary file.
llvm-svn: 36142
2007-04-16 17:36:08 +00:00
Reid Spencer
43899915e9
For PR1319:
...
Fix syntax of tests to ensure grep pattern is properly quoted.
llvm-svn: 36134
2007-04-16 15:31:49 +00:00
Reid Spencer
d93b834b52
For PR1319:
...
Fix test syntax per new rules.
llvm-svn: 36133
2007-04-16 15:15:52 +00:00
Reid Spencer
e5e75c56db
For PR1319: Upgrade to new test harness.
...
llvm-svn: 36087
2007-04-15 21:17:45 +00:00
Reid Spencer
56b310ae49
Make the llvm-runtest function much more amenable by eliminating all the
...
global variables that needed to be passed in. This makes it possible to
add new global variables with only a couple changes (Makefile and llvm-dg.exp)
instead of touching every single dg.exp file.
llvm-svn: 35918
2007-04-11 19:56:59 +00:00
Chris Lattner
e827f7dfe6
new testcases for integer abs function
...
llvm-svn: 35880
2007-04-11 05:02:57 +00:00
Anton Korobeynikov
018c52ef1b
Fix test
...
llvm-svn: 35673
2007-04-04 21:28:36 +00:00
Chris Lattner
03edb8b08e
Add a regtest for cases we now recognize as rotates, thanks to Scott Michel's
...
recent dagcombine patch
llvm-svn: 35606
2007-04-02 22:08:54 +00:00
Chris Lattner
acb971cbc3
new testcase
...
llvm-svn: 35589
2007-04-02 05:57:59 +00:00
Chris Lattner
c873153cbd
my patch fixed the fixme.
...
llvm-svn: 35582
2007-04-02 05:08:54 +00:00
Reid Spencer
13f5561e12
Let llvm-upgrade upgrade bswap intrinsic.
...
llvm-svn: 35568
2007-04-02 01:08:02 +00:00
Reid Spencer
f5e95d339f
For PR1297:
...
Update these test cases to use proper signatures for bswap which is now
and overloaded intrinsic. Its name must be of the form llvm.bswap.i32.i32
since both the parameter and the result or of type "iAny". Also, the
bit counting intrinsics changed to always return i32.
llvm-svn: 35548
2007-04-01 07:36:28 +00:00
Evan Cheng
972e65f9b0
New test case.
...
llvm-svn: 35515
2007-03-30 20:41:18 +00:00
Reid Spencer
50ee6b8557
Remove use of implementation keyword.
...
llvm-svn: 35412
2007-03-28 02:38:26 +00:00
Chris Lattner
a01030bcf4
test that the ppc backend can do 64-bit cntlz
...
llvm-svn: 35328
2007-03-25 04:43:51 +00:00
Reid Spencer
3a22b776c7
This test passes on x86/Linux now.
...
llvm-svn: 34686
2007-02-27 20:46:44 +00:00
Reid Spencer
794a68fbbe
XFAIL this on x86-Linux until its fixed.
...
llvm-svn: 34651
2007-02-27 02:45:12 +00:00
Jim Laskey
2a5840bc73
New test - practically wrote itself.
...
llvm-svn: 34538
2007-02-23 22:12:08 +00:00
Evan Cheng
9482b32217
Fix test case.
...
llvm-svn: 34427
2007-02-19 21:47:02 +00:00
Chris Lattner
382462d0b6
new test
...
llvm-svn: 34372
2007-02-17 06:57:11 +00:00
Chris Lattner
95f531844a
Test that large absolute addresses are properly folded into addr modes on
...
both ppc32 and ppc64.
llvm-svn: 34370
2007-02-17 06:41:57 +00:00
Chris Lattner
956bbc1712
new testcase that crashes llc
...
llvm-svn: 34367
2007-02-17 05:59:01 +00:00
Dale Johannesen
960bd79f88
Fixes PR 1200
...
llvm-svn: 34359
2007-02-17 00:44:34 +00:00
Chris Lattner
fa6985a1d0
testcase for recent targetdata regression
...
llvm-svn: 34355
2007-02-16 23:11:43 +00:00
Chris Lattner
ef0dd1c647
Add ppc-specific test for better i64 compare codegen.
...
llvm-svn: 34082
2007-02-09 04:49:46 +00:00
Reid Spencer
591bfa1e0b
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.
llvm-svn: 33776
2007-02-02 02:16:23 +00:00
Chris Lattner
c0baa88c14
new testcase
...
llvm-svn: 33731
2007-02-01 00:38:56 +00:00
Reid Spencer
82293f34de
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.
llvm-svn: 33660
2007-01-30 16:16:01 +00:00
Reid Spencer
5be7fde6dd
Make the input legal.
...
llvm-svn: 33655
2007-01-30 06:32:25 +00:00
Chris Lattner
31daf51489
new testcase
...
llvm-svn: 33642
2007-01-29 23:45:03 +00:00
Reid Spencer
6a31ec1259
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.
llvm-svn: 33533
2007-01-26 08:25:06 +00:00
Evan Cheng
a644323f02
Fix test case.
...
llvm-svn: 33507
2007-01-25 22:28:32 +00:00
Reid Spencer
4572ce85b0
Regression is gone, don't try to find it on clean target.
...
llvm-svn: 33296
2007-01-17 07:59:14 +00:00