summaryrefslogtreecommitdiffstats
path: root/llvm/test
Commit message (Collapse)AuthorAgeFilesLines
* Removed 2008-10-17-SpillerBug.ll as it does not provide an accurate test of ↵Lang Hames2008-11-161-130/+0
| | | | | | PR2898. llvm-svn: 59431
* 2008-10-17-SpillerBug.ll is currently failing, but this doesn't reflect an ↵Lang Hames2008-11-161-0/+1
| | | | | | actual regression of PR2898. This test should probably be removed. I've XFAILed it for now to keep buildbot quiet while this is considered. llvm-svn: 59415
* Improved shuffle normalization to avoid using extract/build when weMon P Wang2008-11-163-0/+80
| | | | | | | can extract using different indexes for two vectors. Added a few tests for vector shuffles. llvm-svn: 59399
* Handle the case where there is no "not". It is possible it got Chris Lattner2008-11-161-1/+12
| | | | | | folded into the select. llvm-svn: 59389
* make this actually test what it is trying to.Chris Lattner2008-11-161-4/+3
| | | | llvm-svn: 59386
* Don't brute-force analyze cubic or higher polynomials.Nick Lewycky2008-11-161-0/+19
| | | | | | | If this patch causes a performance regression for anyone, please let me know, and it can be fixed in a different way with much more effort. llvm-svn: 59384
* Correct this error message.Nick Lewycky2008-11-151-0/+5
| | | | llvm-svn: 59370
* [XCore] Fix expansion of 64 bit add/sub. Don't custom expandRichard Osborne2008-11-141-0/+12
| | | | | | | these operations if ladd/lsub are not available on the current subtarget. llvm-svn: 59305
* Add XCore intrinsics for getid (returns thread id) and bitrev (reversesRichard Osborne2008-11-142-0/+16
| | | | | | bits in a word). llvm-svn: 59296
* Remove the FlaggedNodes member from SUnit. Instead of requiring each SUnitDan Gohman2008-11-131-1/+1
| | | | | | | | | | to carry a SmallVector of flagged nodes, just calculate the flagged nodes dynamically when they are needed. The local-liveness change is due to a trivial scheduling change where the scheduler arbitrary decision differently. llvm-svn: 59273
* testcase for PR 1779.Dale Johannesen2008-11-131-0/+19
| | | | llvm-svn: 59268
* Added testcase for r59214.Bill Wendling2008-11-131-0/+14
| | | | llvm-svn: 59218
* Add test case for ptr annotation.Tanya Lattner2008-11-121-0/+18
| | | | llvm-svn: 59142
* Correct some thinkos in the expansion of ADD/SUBDuncan Sands2008-11-121-0/+14
| | | | | | | when the target does not support ADDC/SUBC. This fixes PR3044. llvm-svn: 59120
* Fix the testb optimization so x86 also bootstraps.Dale Johannesen2008-11-121-1/+0
| | | | | | Reenable test. llvm-svn: 59101
* fix another libgcc blockerAndrew Lenharth2008-11-111-0/+22
| | | | llvm-svn: 59026
* Un-XFAIL tests now that they're fixed.Bill Wendling2008-11-112-2/+0
| | | | llvm-svn: 59023
* r59009 broke these tests. XFAIL for now.Bill Wendling2008-11-112-0/+2
| | | | llvm-svn: 59010
* Temporarily revert r58979 and related patch. It's causing a failure in X86 ↵Bill Wendling2008-11-101-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | bootstrap: Comparing stages 2 and 3 warning: ./cc1-checksum.o differs warning: ./cc1obj-checksum.o differs warning: ./cc1objplus-checksum.o differs warning: ./cc1plus-checksum.o differs Bootstrap comparison failure! ./alias.o differs ./alloc-pool.o differs ./attribs.o differs ./bb-reorder.o differs ./bitmap.o differs ./build/errors.o differs ./build/genattrtab.o differs ./build/genautomata.o differs ./build/genemit.o differs ./build/genextract.o differs ... -bw llvm-svn: 59003
* If the sign of exit condition and split condition does not matchDevang Patel2008-11-101-0/+69
| | | | | | then do not split loop index. llvm-svn: 58995
* Fix PR2667: add soft float support for sint_to_fp/uint_to_fpDuncan Sands2008-11-101-0/+55
| | | | | | | where the argument is an apint, or smaller than the minimum size for which there is a libcall (i32). llvm-svn: 58994
* When promoting the result of fp_to_uint/fp_to_sint,Duncan Sands2008-11-101-10/+1
| | | | | | | | | | | | | | | | | | inform the optimizers that the result must be zero/ sign extended from the smaller type. For example, if a fp to unsigned i16 is promoted to fp to i32, then we are allowed to assume that the extra 16 bits are zero (because the result of fp to i16 is undefined if the result does not fit in an i16). This is quite aggressive, but should help the optimizers produce better code. This requires correcting a test which thought that fp_to_uint is some kind of truncation, which it is not: in the testcase (which does fp to i1), either the fp value converts to 0 or 1 or the result is undefined, which is quite different to truncation. llvm-svn: 58991
* Reenable test.Dale Johannesen2008-11-101-1/+0
| | | | llvm-svn: 58980
* The method of doing the matching with a 'select' instruction was wrong. TheBill Wendling2008-11-091-0/+17
| | | | | | | | | | | | | | | | | | original code was matching like this: if (match(A, m_Not(m_Value(B)))) B was already matched as a 'select' instruction. However, this isn't matching what we think it's matching. It would match B as a 'Value', so basically anything would match to it. In this case, a Constant matched. B was replaced with a constant representation. And then the wrong value would be used in the SelectInst::Create statement, causing a crash. After thinking on this for a moment, and after Nick L. told me how the pattern matching stuff was supposed to work, the solution was to match NOT an m_Value, but an m_Select. llvm-svn: 58946
* XFAIL this while waiting for a fix.Duncan Sands2008-11-091-0/+1
| | | | llvm-svn: 58934
* If the LHS of the FCMP is coming from a UIToFP instruction, then we don't wantBill Wendling2008-11-091-0/+46
| | | | | | | | | | | | | | | | | | | | | | | to generate signed ICMP instructions to replace the FCMP. This would violate the following: define i1 @test1(i32 %val) { %1 = uitofp i32 %val to double %2 = fcmp ole double %1, 0.000000e+00 ret i1 %2 } would be transformed into: define i1 @test1(i32 %val) { %1 = icmp slt i33 %val, 1 ret i1 %1 } which is obviously wrong. This patch modifes InstCombiner::FoldFCmp_IntToFP_Cst to handle when the LHS comes from UIToFP. llvm-svn: 58929
* CellSPU: Update expected counts on expected patternsScott Michel2008-11-091-5/+5
| | | | llvm-svn: 58927
* Add LLVMC2 tool definitions for Objective-C and Objective-C++.Daniel Dunbar2008-11-082-0/+20
| | | | llvm-svn: 58885
* Generated code for generic expansion of SETUGT etc.Dale Johannesen2008-11-081-0/+1
| | | | | | | | | is noticeably worse than previous PPC-specific code. Since the latter was also wrong in some cases and correctness is more important than efficiency, I'm disabling this test temporarily while I fix it. llvm-svn: 58876
* Xfail an incorrect test.Dale Johannesen2008-11-081-0/+7
| | | | llvm-svn: 58875
* Add basic test for XCore backendRichard Osborne2008-11-072-0/+11
| | | | llvm-svn: 58841
* Testcase for testb optimization.Dale Johannesen2008-11-071-0/+25
| | | | llvm-svn: 58827
* Handle (delete) dbg intrinsics while promoting alloca.Devang Patel2008-11-071-0/+56
| | | | llvm-svn: 58826
* Emit label for llvm.dbg.func.start of the inlined function.Devang Patel2008-11-061-0/+1
| | | | llvm-svn: 58814
* Emit label for llvm.dbg.func.start of the inlined function.Devang Patel2008-11-061-0/+71
| | | | llvm-svn: 58786
* Make ISel ignore dead nodes. The DAGCombiner normally eliminatesDan Gohman2008-11-051-0/+22
| | | | | | | dead nodes, but in this case its missing one. Fixing the DAGCombiner is desirable, but it's somewhat involved. llvm-svn: 58777
* Add PR number.Devang Patel2008-11-051-0/+1
| | | | llvm-svn: 58765
* Add more vector move low and zero-extend patterns.Evan Cheng2008-11-051-0/+15
| | | | llvm-svn: 58752
* New test case.Devang Patel2008-11-051-0/+6
| | | | llvm-svn: 58745
* Add a new pass to simplify specific half_powr function calls. This isDan Gohman2008-11-041-0/+41
| | | | | | a specialized pass that it not likely to be generally useful. llvm-svn: 58732
* Fix tests not to emit IR outputAnton Korobeynikov2008-11-042-2/+2
| | | | llvm-svn: 58729
* Actually ARM / Mac OS X does have UINTTOFP_I64_F{64|32} libcalls.Evan Cheng2008-11-041-0/+17
| | | | llvm-svn: 58725
* Custom lower bit_convert i64 -> f64 into FMDRR. This is now happening with ↵Evan Cheng2008-11-041-0/+29
| | | | | | legalizetypes. llvm-svn: 58714
* Fix PR3011: LegalizeTypes support for scalarizingDuncan Sands2008-11-041-0/+9
| | | | | | SELECT_CC. llvm-svn: 58706
* The ANDMask node folds to a constant, and isn't the node that needs toDan Gohman2008-11-031-0/+26
| | | | | | | have its node id set. The new and and shift nodes are the nodes that need the IDs. This fixes PR2982. llvm-svn: 58655
* Ignore conditions that are outside the loop.Devang Patel2008-11-031-0/+47
| | | | llvm-svn: 58631
* Turn floating point IVs into integer IVs where possible.Devang Patel2008-11-031-0/+17
| | | | | | | | This allows SCEV users to effectively calculate trip count. LSR later on transforms back integer IVs to floating point IVs later on to avoid int-to-float casts inside the loop. llvm-svn: 58625
* Change how extended types are represented in MVTs. Instead of fiddlingDan Gohman2008-11-031-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | bits, use a union of a SimpleValueType enum and a regular Type*. This increases the size of MVT on 64-bit hosts from 32 bits to 64 bits. In most cases, this doesn't add significant overhead. There are places in codegen that use arrays of MVTs, so these are now larger, but they're small in common cases. This eliminates restrictions on the size of integer types and vector types that can be represented in codegen. As the included testcase demonstrates, it's now possible to codegen very large add operations. There are still some complications with using very large types. PR2880 is still open so they can't be used as return values on normal targets, there are no libcalls defined for very large integers so operations like multiply and divide aren't supported. This also introduces a minimal tablgen Type library, capable of handling IntegerType and VectorType. This will allow parts of TableGen that don't depend on using SimpleValueType values to handle arbitrary integer and vector types. llvm-svn: 58623
* Testcase for recent llvm-gcc fixAnton Korobeynikov2008-11-031-0/+3
| | | | llvm-svn: 58611
* Make VAARG work with x86 long double (which isDuncan Sands2008-11-031-0/+17
| | | | | | 10 bytes long, but is passed in 12/16 bytes). llvm-svn: 58608
OpenPOWER on IntegriCloud