David Meyer
a6e588d80c
PR11004: Inline memcpy to avoid generating nested call sequence. Un-XFAIL 2011-06-09-TailCallByVal and 2010-11-04-BigByval
...
llvm-svn: 140516
2011-09-26 06:13:20 +00:00
Bill Wendling
67cf034fe3
This test is completely invalid with the modern EH model. Delete.
...
llvm-svn: 140213
2011-09-20 23:52:09 +00:00
Nadav Rotem
fd68584146
This test is already covered by llvm/trunk/test/CodeGen/X86/vsel.ll
...
llvm-svn: 139288
2011-09-08 08:43:23 +00:00
Nadav Rotem
b461f2190e
Add X86-SSE4 codegen support for vector-select.
...
llvm-svn: 139285
2011-09-08 08:11:19 +00:00
Dan Gohman
cbadb0f92c
Revert r129875, XFAILing this test for arm, since the fix was reverted.
...
llvm-svn: 139058
2011-09-03 00:14:24 +00:00
Bill Wendling
145872a92c
Try to eliminate the use of the 'unwind' instruction.
...
llvm-svn: 139046
2011-09-02 22:41:11 +00:00
Benjamin Kramer
4ed9810e77
XFAIL this test on arm until the backend is fixed.
...
llvm-svn: 138955
2011-09-01 18:40:03 +00:00
Bill Wendling
da12f7322a
Revert r138894. This was failing on cmake-clang-i686-msvc10.
...
llvm-svn: 138900
2011-08-31 21:20:25 +00:00
Bill Wendling
722de8a9aa
Update more tests to the new EH scheme.
...
llvm-svn: 138894
2011-08-31 21:04:11 +00:00
Bill Wendling
5b7cbeacad
Revert r138606 until LowerInvoke has been converted to the new EH scheme.
...
llvm-svn: 138656
2011-08-26 21:11:23 +00:00
Bill Wendling
077e9ea84b
Update to the new EH scheme.
...
llvm-svn: 138606
2011-08-25 23:48:37 +00:00
Bill Wendling
1eec5affec
LSR wants to split the landing pad's critical edge. Let it do it, but use the
...
proper function to do it.
llvm-svn: 138550
2011-08-25 05:55:40 +00:00
Andrew Trick
a53688c65c
Comment correction.
...
llvm-svn: 134958
2011-07-12 03:39:22 +00:00
Chris Lattner
a106725fc5
Land the long talked about "type system rewrite" patch. This
...
patch brings numerous advantages to LLVM. One way to look at it
is through diffstat:
109 files changed, 3005 insertions(+), 5906 deletions(-)
Removing almost 3K lines of code is a good thing. Other advantages
include:
1. Value::getType() is a simple load that can be CSE'd, not a mutating
union-find operation.
2. Types a uniqued and never move once created, defining away PATypeHolder.
3. Structs can be "named" now, and their name is part of the identity that
uniques them. This means that the compiler doesn't merge them structurally
which makes the IR much less confusing.
4. Now that there is no way to get a cycle in a type graph without a named
struct type, "upreferences" go away.
5. Type refinement is completely gone, which should make LTO much MUCH faster
in some common cases with C++ code.
6. Types are now generally immutable, so we can use "Type *" instead
"const Type *" everywhere.
Downsides of this patch are that it removes some functions from the C API,
so people using those will have to upgrade to (not yet added) new API.
"LLVM 3.0" is the right time to do this.
There are still some cleanups pending after this, this patch is large enough
as-is.
llvm-svn: 134829
2011-07-09 17:41:24 +00:00
Chris Lattner
4ddffa2acc
more tests not making the jump into the brave new world.
...
llvm-svn: 134820
2011-07-09 16:57:10 +00:00
Lang Hames
2c2f6ed1f7
Added a testcase for PR10220.
...
llvm-svn: 134573
2011-07-07 00:36:02 +00:00
Jakub Staszak
28bcc8673e
Introduce "expect" intrinsic instructions.
...
llvm-svn: 134516
2011-07-06 18:22:43 +00:00
Devang Patel
91fee59b74
Handle debug info for i128 constants.
...
llvm-svn: 133821
2011-06-24 20:46:11 +00:00
Chris Lattner
ad5400fa72
rip out a ton of intrinsic modernization logic from AutoUpgrade.cpp, which is
...
for pre-2.9 bitcode files. We keep x86 unaligned loads, movnt, crc32, and the
target indep prefetch change.
As usual, updating the testsuite is a PITA.
llvm-svn: 133337
2011-06-18 06:05:24 +00:00
Chris Lattner
385977c252
remove asmparser support for the old getresult instruction, which has been subsumed by extractvalue.
...
llvm-svn: 133247
2011-06-17 06:57:15 +00:00
Chris Lattner
4eb6f76fa6
Remove support for using "foo" as symbols instead of %"foo". This is ancient
...
syntax and has been long obsolete. As usual, updating the tests is the nasty
part of this.
llvm-svn: 133242
2011-06-17 06:36:20 +00:00
Chris Lattner
9ec82f54d4
manually upgrade a bunch of tests to modern syntax, and remove some that
...
are either unreduced or only test old syntax.
llvm-svn: 133228
2011-06-17 03:14:27 +00:00
Anna Zaks
73f1ba0a88
Rename the test. Thanks Cameron! Use shorter/generic names.
...
llvm-svn: 133115
2011-06-16 00:34:10 +00:00
Anna Zaks
e2a947a4f7
Function::getNumBlockIDs() should be used instead of Function::size() to set the upper limit on the block IDs since basic blocks might get removed (simplified away) after being initially numbered. Plus the test case, in which SelectionDAGBuilder::visitBr() calls llvm::MachineFunction::removeFromMBBNumbering(), which introduces the hole in numbering leading to an assert in llc (prior to the fix).
...
llvm-svn: 133113
2011-06-16 00:03:21 +00:00
Nadav Rotem
0f5e672008
Move the legalizer tests to the X86 directory because the test uses the x86
...
codegen. Thanks Galina.
llvm-svn: 132706
2011-06-07 05:23:58 +00:00
Nadav Rotem
bfff2bd65a
Add methods to support the integer-promotion of vector types. Methods to
...
legalize SDNodes such as BUILD_VECTOR, EXTRACT_VECTOR_ELT, etc.
llvm-svn: 132689
2011-06-06 20:55:56 +00:00
Nadav Rotem
5a64a09036
TypeLegalizer: Add support for passing of vector-promoted types in registers (copyFromParts/copyToParts).
...
llvm-svn: 132649
2011-06-04 20:58:08 +00:00
Nadav Rotem
111ad2f6ce
This patch is another step in the direction of adding vector select. In this
...
patch we add a flag to enable a new type legalization decision - to promote
integer elements in vectors. Currently, the rest of the codegen does not support
this kind of legalization. This flag will be removed when the transition is
complete.
llvm-svn: 132394
2011-06-01 12:51:46 +00:00
Galina Kistanova
96a3ce9a6f
Move test for appropriate directory.
...
llvm-svn: 131477
2011-05-17 19:06:43 +00:00
Rafael Espindola
95d9ad78ea
Make codegen able to handle values of empty types. This is one way
...
to fix PR9900. I will keep it open until sable is able to comment on it.
llvm-svn: 131294
2011-05-13 15:18:06 +00:00
Stuart Hastings
e9430126f1
Un-XFAIL this test for ARM. <rdar://problem/7662569>
...
llvm-svn: 129875
2011-04-20 21:47:45 +00:00
Chris Lattner
f7623daa2b
Fix a bug where RecursivelyDeleteTriviallyDeadInstructions could
...
delete the instruction pointed to by CGP's current instruction
iterator, leading to a crash on the testcase. This fixes PR9578.
llvm-svn: 129200
2011-04-09 07:05:44 +00:00
Stuart Hastings
3ed284e001
ARM doesn't support byval yet. XFAIL this test until it does.
...
llvm-svn: 128891
2011-04-05 17:16:21 +00:00
Duncan Sands
195d2036d0
Make this test x86 specific because the ARM backend can't handle it.
...
llvm-svn: 126650
2011-02-28 12:30:47 +00:00
Duncan Sands
b6f7dcb996
Legalize support for fpextend of vector. PR9309.
...
llvm-svn: 126574
2011-02-27 14:41:27 +00:00
Nadav Rotem
367d73ccb6
A fix for 9165.
...
The DAGCombiner created illegal BUILD_VECTOR operations.
The patch added a check that either illegal operations are
allowed or that the created operation is legal.
llvm-svn: 125435
2011-02-12 14:40:33 +00:00
Chris Lattner
4832a9d32c
fix rdar://8878965, a regression I introduced with the recent
...
llvm.objectsize changes.
llvm-svn: 123771
2011-01-18 20:53:04 +00:00
Duncan Sands
883391f3f2
Add a testcase for PR8582, which mysteriously fixed itself, in case the problem
...
comes back some day.
llvm-svn: 122982
2011-01-06 23:04:29 +00:00
Andrew Trick
cc701bcfdc
Fixes PR8823: add-with-overflow-128.ll
...
In the bottom-up selection DAG scheduling, handle two-address
instructions that read/write unspillable registers. Treat
the entire chain of two-address nodes as a single live range.
llvm-svn: 122472
2010-12-23 03:15:51 +00:00
Chris Lattner
4c3662e299
temporarily disable this: PR8823.
...
llvm-svn: 122222
2010-12-20 02:11:23 +00:00
Chris Lattner
2d6a408c4c
add a general coverage test for overflow intrinsics.
...
llvm-svn: 122185
2010-12-19 20:01:13 +00:00
Andrew Trick
3166f72d7a
Removing the useless test that I added recently. It was meant as an example, but not complicated enough to merit another test.
...
llvm-svn: 119898
2010-11-20 07:26:51 +00:00
Andrew Trick
a2f5bd63ff
Emacs auto-fill bug.
...
llvm-svn: 118908
2010-11-12 18:17:46 +00:00
Andrew Trick
e5e40ec069
Test case for PR8287: SD scheduling time. Fixed in r118904.
...
llvm-svn: 118906
2010-11-12 17:57:22 +00:00
Duncan Sands
1af5c00d3c
When passing a huge parameter using the byval mechanism, a long
...
sequence of loads and stores was being generated to perform the
copy on the x86 targets if the parameter was less than 4 byte
aligned, causing llc to use up vast amounts of memory and time.
Use a "rep movs" form instead. PR7170.
llvm-svn: 118260
2010-11-04 21:16:46 +00:00
Nate Begeman
15fe179ecb
Fix a crash in the dag combiner caused by ConstantFoldBIT_CONVERTofBUILD_VECTOR calling itself
...
recursively and returning a SCALAR_TO_VECTOR node, but assuming the input was always a BUILD_VECTOR.
llvm-svn: 109519
2010-07-27 18:02:18 +00:00
Eric Christopher
e873e9978c
Fix up -fstack-protector on linux to use the segment
...
registers. Split out testcases per architecture and os
now.
Patch from Nelson Elhage.
llvm-svn: 107640
2010-07-06 05:18:56 +00:00
Mon P Wang
c0fb410ae3
Move v-binop-widen tests to X86 since they don't work on all platforms
...
llvm-svn: 106562
2010-06-22 19:40:50 +00:00
Rafael Espindola
d7a63bead9
Remove arm_apcscc from the test files. It is the default and doing this
...
matches what llvm-gcc and clang now produce.
llvm-svn: 106221
2010-06-17 15:18:27 +00:00
Jim Grosbach
02a6b7e02e
modify so the test doesn't drop an output file in the test source directory.
...
The test should also likely have some FileCheck bits to validate the
output(?).
llvm-svn: 106146
2010-06-16 21:07:06 +00:00