aboutsummaryrefslogtreecommitdiffstats
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix parameter spelling: sse not sse1Dale Johannesen2008-06-101-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52185 91177308-0d34-0410-b5e6-96231b3b80d8
* Ignore stderr for some more tests that expect warnings there.Matthijs Kooijman2008-06-102-2/+4
| | | | | | | This fixes 2 testcases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52184 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some more quoting issues in RUN lines, this time regarding unintendedMatthijs Kooijman2008-06-104-8/+8
| | | | | | | | | variable expansions involving the $ character. This fixes 4 tests that were not running properly before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52183 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some escaping and quoting in RUN lines, mainly involving { and <. In twoMatthijs Kooijman2008-06-107-7/+7
| | | | | | | | | | cases quoting of <{ didn't work out, so I changed the grep to check for }> instead. This fixes 7 testcases that were not properly running before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52182 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove double pipes in RUN commandlines.Matthijs Kooijman2008-06-105-5/+5
| | | | | | | This fixes 5 testcases that were not being run properly before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52180 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove trailing whitespace after line continuations in test cases to them work.Matthijs Kooijman2008-06-102-2/+2
| | | | | | | This fixes two test cases that were not being run properly before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52179 91177308-0d34-0410-b5e6-96231b3b80d8
* Let some more tests ignore expected output on stderr.Matthijs Kooijman2008-06-106-7/+7
| | | | | | | | | | Also, use > %t instead of -o %t for output in one test since that also works when %t already exists. This fixes 6 testcases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52178 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix some llvm-gcc warnings in testcases, mostly by adding includes or addingMatthijs Kooijman2008-06-1011-6/+19
| | | | | | | | | | | declarations. These are the fixes that I was pretty confident about, there are still a lot of other llvm-gcc warnings of which I'm not sure if they can be safely ignored or fixed, without breaking the test case. This fixes 11 testcases. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52176 91177308-0d34-0410-b5e6-96231b3b80d8
* For all RUN lines starting with "not", redirect stderr to /dev/null so testsMatthijs Kooijman2008-06-1017-17/+17
| | | | | | | | | | | don't fail when (expected) error output is produced. This fixes 17 tests. While I was there, I also made all RUN lines of the form "not llvm-as..." a bit more consistent, they now all redirect stderr and stdout to /dev/null and use input redirect to read their input. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52174 91177308-0d34-0410-b5e6-96231b3b80d8
* Suppress the (stderr) output of -aa-eval, this fixes 5 tests.Matthijs Kooijman2008-06-105-5/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52173 91177308-0d34-0410-b5e6-96231b3b80d8
* Change llvm.exp so it no longer ignores some errors when executing dejagnuMatthijs Kooijman2008-06-101-0/+4
| | | | | | | | | | | | | | | | | | | | | | tests. This breaks 80 tests in the tree. The interesting part here is that this no longer ignores syntax errors in RUN command lines. Some tests have not been working all the time because of this. The tricky part is that it now also views any stderr output as an error. This can be suppressed in tcl 8.5, but let's not add this dependency. Instead, all testcases should be changed to redirect stderr if they expect stderr output. This holds in particular for lines like: ; RUN: not llvm-as < %s where an error is expected (but I think I can solve this by modifying the not script). Also, compilations resulting in warnings will now also fail (so the warnings should be fixed, disabled or redirected...). I'll continue with fixing the testcases that are broken now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52172 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert several tests to use temporary files instead of redundantlyDan Gohman2008-06-1014-60/+63
| | | | | | | executing the test commands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52163 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix two more not-grep tests that were missing llvm-dis.Dan Gohman2008-06-092-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52159 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-apply 52002, allowing the verifier to accept non-MRV struct returnDan Gohman2008-06-092-0/+41
| | | | | | | | | types on functions, with adjustments so that it accepts both new-style aggregate returns and old-style MRV returns, including those with only a single member. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52157 91177308-0d34-0410-b5e6-96231b3b80d8
* Test that prune-eh doesn't make deductions basedDuncan Sands2008-06-091-0/+12
| | | | | | | on bodies of functions with weak linkage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52141 91177308-0d34-0410-b5e6-96231b3b80d8
* add support for PIC on linux x86-64Rafael Espindola2008-06-0911-0/+130
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52139 91177308-0d34-0410-b5e6-96231b3b80d8
* lower calls to abs to inline code, PR2337Chris Lattner2008-06-091-0/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52138 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR2411, where ip constant prop would propagate theChris Lattner2008-06-091-0/+15
| | | | | | | result of a weak function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52137 91177308-0d34-0410-b5e6-96231b3b80d8
* Limit the icmp+phi merging optimization to the cases where it is profitable:Chris Lattner2008-06-081-0/+49
| | | | | | | don't make i1 phis when it won't be possible to eliminate them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52097 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove invalid testAnton Korobeynikov2008-06-081-141/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52093 91177308-0d34-0410-b5e6-96231b3b80d8
* Speculatively execute a block when the the block is the then part of a ↵Evan Cheng2008-06-071-0/+21
| | | | | | | | | | | | | | | | | | | | | triangle shape and it contains a single, side effect free, cheap instruction. The branch is eliminated by adding a select instruction. i.e. Turn BB: %t1 = icmp br i1 %t1, label %BB1, label %BB2 BB1: %t3 = add %t2, c br label BB2 BB2: => BB: %t1 = icmp %t4 = add %t2, c %t3 = select i1 %t1, %t2, %t3 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52073 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix run line.Evan Cheng2008-06-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52072 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for PR2418Anton Korobeynikov2008-06-061-0/+141
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52047 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert 52002.Dan Gohman2008-06-051-22/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52030 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a test case for opt -instcombine bug fix in revision 52003.Zhou Sheng2008-06-051-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52004 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the Verifier to support returning first class aggregrates.Matthijs Kooijman2008-06-051-0/+22
| | | | | | | Add a testcase for functions returning first class aggregrates. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52002 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a test case for APInt bug fix in r51999.Zhou Sheng2008-06-051-0/+60
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@52000 91177308-0d34-0410-b5e6-96231b3b80d8
* Learn ScalarReplAggregrates how stores and loads of first class aggregratesMatthijs Kooijman2008-06-051-0/+32
| | | | | | | | | | | work and how to replace them into individual values. Also, when trying to replace an aggregrate that is used by load or store with a single (large) integer, don't crash (but don't replace the aggregrate either). Also adds a testcase for both structs and arrays. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51997 91177308-0d34-0410-b5e6-96231b3b80d8
* Let StructRetPromotion check if all if its users are really calls or invokesn,Matthijs Kooijman2008-06-051-0/+20
| | | | | | | not other instructions. This fixes a crash with the added testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51992 91177308-0d34-0410-b5e6-96231b3b80d8
* Let StructRetPromotion check if it's users are really calling it and notMatthijs Kooijman2008-06-051-0/+24
| | | | | | | passing its pointer. Fixes test with added testcase. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51991 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a memcpy lowering bug. Even though the memcpy alignment is smaller than ↵Evan Cheng2008-06-041-0/+19
| | | | | | the desired alignment, the frame destination alignment may still be larger than the desired alignment. Don't change its alignment to something smaller. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51970 91177308-0d34-0410-b5e6-96231b3b80d8
* Rewrite a bunch of the CBE's inline asm code, giving it theChris Lattner2008-06-041-0/+12
| | | | | | | ability to handle indirect input operands. This fixes PR2407. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51952 91177308-0d34-0410-b5e6-96231b3b80d8
* Change packed struct layout so that field sizesDuncan Sands2008-06-041-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | are the same as in unpacked structs, only field positions differ. This only matters for structs containing x86 long double or an apint; it may cause backwards compatibility problems if someone has bitcode containing a packed struct with a field of one of those types. The issue is that only 10 bytes are needed to hold an x86 long double: the store size is 10 bytes, but the ABI size is 12 or 16 bytes (linux/ darwin) which comes from rounding the store size up by the alignment. Because it seemed silly not to pack an x86 long double into 10 bytes in a packed struct, this is what was done. I now think this was a mistake. Reserving the ABI size for an x86 long double field even in a packed struct makes things more uniform: the ABI size is now always used when reserving space for a type. This means that developers are less likely to make mistakes. It also makes life easier for the CBE which otherwise could not represent all LLVM packed structs (PR2402). Front-end people might need to adjust the way they create LLVM structs - see following change to llvm-gcc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51928 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for LoopIndexSplit and DomFrontier.Owen Anderson2008-06-031-0/+32
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51916 91177308-0d34-0410-b5e6-96231b3b80d8
* nounwindify.Dan Gohman2008-06-031-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51893 91177308-0d34-0410-b5e6-96231b3b80d8
* Constant folding for insertvalue and extractvalue.Dan Gohman2008-06-031-1/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51889 91177308-0d34-0410-b5e6-96231b3b80d8
* Update dom tree. Fix PR 2372.Devang Patel2008-06-021-0/+26
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51887 91177308-0d34-0410-b5e6-96231b3b80d8
* Add necessary 64-bit support so that gcc frontend compiles (mostly). CurrentScott Michel2008-06-021-12/+12
| | | | | | | | issue is operand promotion for setcc/select... but looks like the fundamental stuff is implemented for CellSPU. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51884 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement CBE support for first-class structs and array values,Dan Gohman2008-06-021-1/+1
| | | | | | | | | | | | | | | | and insertvalue and extractvalue instructions. First-class array values are not trivial because C doesn't support them. The approach I took here is to wrap all arrays in structs. Feedback is welcome. The 2007-01-15-NamedArrayType.ll test needed to be modified because it has a "not grep" for a string that now exists, because array types now have associated struct types, and those struct types have names. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51881 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the position of MemOperands in nodes that use variadic_opsDan Gohman2008-06-021-0/+11
| | | | | | | | | | | | | in DAGISelEmitter output. This bug was recently uncovered by the addition of patterns for CALL32m and CALL64m, which are nodes that now have both MemOperands and variadic_ops. This bug was especially visible with PIC in various configurations, because the new patterns are matching the indirect call code used in many PIC configurations. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51877 91177308-0d34-0410-b5e6-96231b3b80d8
* Fixes PR2395. Looking for a constant in a GEP tail (when the first GEP Wojciech Matyjewicz2008-06-021-0/+15
| | | | | | | | | is longer than the second one) should stop after finding one. Added break instruction guarantees it. It also changes difference between offsets to absolute value of this difference in the condition. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51875 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix two issues that Eli Friedman pointed out, where would misoptimized code ↵Owen Anderson2008-06-011-1/+1
| | | | | | | | | | | | | | | | | like: char a[200]; init(a, a+200); OR int a[200]; char* b = (char*)a; char* c = (char*)a; foo(b, c); git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51850 91177308-0d34-0410-b5e6-96231b3b80d8
* Test for PR2401Owen Anderson2008-06-011-0/+107
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51849 91177308-0d34-0410-b5e6-96231b3b80d8
* When simplifying a call to a bitcast function, tighten upDuncan Sands2008-06-011-1/+5
| | | | | | | | | | | | | | | | | | | | | the conditions for performing the transform when only the function declaration is available: no longer allow turning i32 into i64 for example. Only allow changing between pointer types, and between pointer types and integers of the same size. For return values ptr -> intptr was already allowed; I added ptr -> ptr and intptr -> ptr while there. As shown by a recent objc testcase, changing the way parameters/return values are passed can be fatal when calling code written in assembler that directly manipulates call arguments and return values unless the transform has no impact on the way they are passed at the codegen level. While it is possible to imagine an ABI that treats integers of pointer size differently to pointers, I don't think LLVM supports any so the transform should now be safe while still being useful. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51834 91177308-0d34-0410-b5e6-96231b3b80d8
* update this patch to handle an extraneous &1. This should be pulledChris Lattner2008-05-311-2/+1
| | | | | | | into the 2.3 release branch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51824 91177308-0d34-0410-b5e6-96231b3b80d8
* Peer through sext/zext when looking for not(cmp).Nick Lewycky2008-05-311-1/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51819 91177308-0d34-0410-b5e6-96231b3b80d8
* Add more i1 optimizations. add, sub, mul, s/udiv on i1 are now simplified away.Nick Lewycky2008-05-311-0/+24
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51817 91177308-0d34-0410-b5e6-96231b3b80d8
* Adding i1 is always Xor.Nick Lewycky2008-05-311-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51816 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the CBE's handling of instructions whose result is an i1. Previously,Chris Lattner2008-05-311-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | we did not truncate the value down to i1 with (x&1). This caused a problem when the computation of x was nontrivial, for example, "add i1 1, 1" would return 2 instead of 0. This makes the testcase compile into: ... llvm_cbe_t = (((llvm_cbe_r == 0u) + (llvm_cbe_r == 0u))&1); llvm_cbe_u = (((unsigned int )(bool )llvm_cbe_t)); ... instead of: ... llvm_cbe_t = ((llvm_cbe_r == 0u) + (llvm_cbe_r == 0u)); llvm_cbe_u = (((unsigned int )(bool )llvm_cbe_t)); ... This fixes a miscompilation of mediabench/adpcm/rawdaudio/rawdaudio and 403.gcc with the CBE, regressions from LLVM 2.2. Tanya, please pull this into the release branch. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51813 91177308-0d34-0410-b5e6-96231b3b80d8
* IR, bitcode reader, bitcode writer, and asmparser changes toDan Gohman2008-05-311-9/+9
| | | | | | | | | | | | insertvalue and extractvalue to use constant indices instead of Value* indices. And begin updating LangRef.html. There's definately more to come here, but I'm checking this basic support in now to make it available to people who are interested. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51806 91177308-0d34-0410-b5e6-96231b3b80d8