Devang Patel
ad9153ed25
XFAIL for now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47411 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20 23:10:42 +00:00
Devang Patel
2102cab02f
Now functions can return aggregate values.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47409 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20 22:51:28 +00:00
Nick Lewycky
3e63076980
Add 'umax' similar to 'smax' SCEV. Closes PR2003.
...
Parse reversed smax and umax as smin and umin and express them with negative
or binary-not SCEVs (which are really just subtract under the hood).
Parse 'xor %x, -1' as (-1 - %x).
Remove dead code (ConstantInt::get always returns a ConstantInt).
Don't use getIntegerSCEV(-1, Ty). The first value is an int, then it gets
passed into a uint64_t. Instead, create the -1 directly from
ConstantInt::getAllOnesValue().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47360 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20 06:48:22 +00:00
Evan Cheng
359026e39a
XFAIL this for now.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47355 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20 02:38:58 +00:00
Chris Lattner
b476f98ca9
this test requires sse2
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47331 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19 18:07:46 +00:00
Chris Lattner
ce2bcc8839
Don't fold and's into test instructions if they have multiple uses.
...
This compiles test-nofold.ll into:
_test:
movl $15, %ecx
andl 4(%esp), %ecx
testl %ecx, %ecx
movl $42, %eax
cmove %ecx, %eax
ret
instead of:
_test:
movl 4(%esp), %eax
movl %eax, %ecx
andl $15, %ecx
testl $15, %eax
movl $42, %eax
cmove %ecx, %eax
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47330 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19 17:37:35 +00:00
Chris Lattner
22c31769fb
rename tests to avoid a test- prefix when they aren't related to the test instruction.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47329 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19 17:33:52 +00:00
Tanya Lattner
cfab3da46e
Remove llvm-upgrade and update tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47325 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19 08:07:33 +00:00
Chris Lattner
1459c5d8e1
dead pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47324 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19 07:58:11 +00:00
Chris Lattner
689e8b294e
Fix PR2060 by rejecting invalid types for integer constants.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47311 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19 04:36:07 +00:00
Nick Lewycky
7ad3920e31
Don't spew stats to stderr.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47308 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19 03:11:47 +00:00
Nick Lewycky
9103ba1003
Fix up the run line for this new test.
...
llc: for the -info-output-file option: requires a value!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47306 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19 02:58:36 +00:00
Evan Cheng
acfab64631
New test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47302 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19 02:09:58 +00:00
Tanya Lattner
2ad38be2cf
Remove llvm-upgrade and update tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47297 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19 01:44:26 +00:00
Tanya Lattner
53a66d10f0
Remove llvm-upgrade and update tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47296 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-19 01:41:04 +00:00
Evan Cheng
efec751a1b
- When DAG combiner is folding a bit convert into a BUILD_VECTOR, it should check if it's essentially a SCALAR_TO_VECTOR. Avoid turning (v8i16) <10, u, u, u> to <10, 0, u, u, u, u, u, u>. Instead, simply convert it to a SCALAR_TO_VECTOR of the proper type.
...
- X86 now normalize SCALAR_TO_VECTOR to (BIT_CONVERT (v4i32 SCALAR_TO_VECTOR)). Get rid of X86ISD::S2VEC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47290 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18 23:04:32 +00:00
Nick Lewycky
e0cfecf47d
Correctly fold divide-by-constant, even when faced with overflow.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47287 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18 22:48:05 +00:00
Dan Gohman
339ffedca9
Don't mark scalar integer multiplication as Expand on x86, since x86
...
has plain one-result scalar integer multiplication instructions.
This avoids expanding such instructions into MUL_LOHI sequences that
must be special-cased at isel time, and avoids the problem with that
code that provented memory operands from being folded.
This fixes PR1874, addressesing the most common case. The uncommon
cases of optimizing multiply-high operations will require work
in DAGCombiner.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47277 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18 17:55:26 +00:00
Chris Lattner
ea0415957d
make this just a bit more strict.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47274 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18 17:33:10 +00:00
Owen Anderson
5aa4f2a085
Add support to GVN for performing sret return slot optimization. This means that, if an sret function tail calls
...
another sret function, it should pass its own sret parameter to the tail callee, allowing it to fill in the correct
return value. llvm-gcc does not emit this by default. Instead, it allocates space in the caller for the sret of
the tail call and then uses memcpy to copy the result into the caller's sret parameter. This optimization detects
and optimizes that case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47265 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18 09:24:53 +00:00
Chris Lattner
bf1d8a7099
optimize away stackrestore calls that have no intervening alloca or call.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47258 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18 06:12:38 +00:00
Chris Lattner
28cb2051c8
upgrade this test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47257 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-18 06:11:00 +00:00
Chris Lattner
dd12f96c5e
Fold (-x + -y) -> -(x+y) which promotes better association, fixing
...
the second half of PR2047
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47244 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-17 21:03:36 +00:00
Chris Lattner
0b0803ae15
Split up subtracts into add+negate if they have a reassociable use or operand
...
that is also a subtract. This implements PR2047 and Transforms/Reassociate/subtest2.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47241 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-17 20:51:26 +00:00
Chris Lattner
f06c3c29ac
upgrade and simplify this test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47240 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-17 20:48:43 +00:00
Tanya Lattner
6263f94674
Remove llvm-upgrade.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47238 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-17 20:02:20 +00:00
Chris Lattner
5f137244c2
fix this test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47232 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-17 00:15:25 +00:00
Tanya Lattner
d349a4eda1
Remove llvm-upgrade
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47231 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-17 00:15:09 +00:00
Tanya Lattner
2d290f9dc4
Remove llvm-upgrade.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47230 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-17 00:13:09 +00:00
Chris Lattner
26fdb11e4e
this test isn't useful since we added @ notation for globals.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47229 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-17 00:12:03 +00:00
Chris Lattner
8a39257fa5
this line was commented out.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47228 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-17 00:09:08 +00:00
Tanya Lattner
709f6ecd03
Remove llvm-upgrade and update tests.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47227 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-16 23:55:46 +00:00
Tanya Lattner
91974939d0
Removing llvm upgrade, so remove tests specific to llvm-upgrade and update the tests that used it.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47225 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-16 23:27:24 +00:00
Duncan Sands
3d5378ff8e
Remove any 'nest' parameter attributes if the function
...
is not passed as an argument to a trampoline intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47220 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-16 20:56:04 +00:00
Andrew Lenharth
22c5c1b2df
llvm.memory.barrier, and impl for x86 and alpha
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47204 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-16 01:24:58 +00:00
Chris Lattner
d1bb1c2765
upgrade this test, which wasn't testing the right thing since llvm-upgrade came around.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47194 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15 23:58:25 +00:00
Chris Lattner
01042345c8
rename llx -> ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47192 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15 23:51:48 +00:00
Evan Cheng
de7f560744
This test is not interesting.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47189 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15 23:06:21 +00:00
Dale Johannesen
35e11cd70b
Modify test to expect improved code.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47182 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15 22:05:15 +00:00
Duncan Sands
31fdedde04
Fix this test on linux, which returns S242
...
using sret.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47173 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15 19:42:13 +00:00
Devang Patel
9d9b204d6a
Fix PR2028
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47150 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-15 01:24:49 +00:00
Devang Patel
9b03daa2a3
If loop header is also loop exiting block then OrigPN is incoming value for B loop header.
...
Fixes PR 2030.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47141 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-14 23:18:47 +00:00
Chris Lattner
8c5c22f610
Fix PR2029
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47129 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-14 19:18:13 +00:00
Chris Lattner
423be627e6
Fix a miscompilation from Dan's recent apintification.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47128 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-14 18:48:56 +00:00
Tanya Lattner
6e9bceea97
Remove llvm-upgrade
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47119 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-14 07:57:12 +00:00
Nick Lewycky
c91b49b890
Testcase for PR2032.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47113 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-14 07:15:11 +00:00
Tanya Lattner
dcd188d33f
Remove llvm-upgrade.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47110 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-14 06:56:27 +00:00
Chris Lattner
8b0cb7bcc6
This readme entry is done, testcase here: CodeGen/X86/zero-remat.ll
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47106 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-14 05:39:46 +00:00
Evan Cheng
5598b70a78
Fix test.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47102 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-14 01:32:53 +00:00
Devang Patel
ea06906559
A loop latch phi node may have uses inside loop, not just in loop header.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47093 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-13 22:23:07 +00:00