summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
* [XCore] Fix expansion of 64 bit add/sub. Don't custom expandRichard Osborne2008-11-14
| | | | | | | | these operations if ladd/lsub are not available on the current subtarget. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59305 91177308-0d34-0410-b5e6-96231b3b80d8
* Add XCore intrinsics for getid (returns thread id) and bitrev (reversesRichard Osborne2008-11-14
| | | | | | | bits in a word). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59296 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the FlaggedNodes member from SUnit. Instead of requiring each SUnitDan Gohman2008-11-13
| | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59273 91177308-0d34-0410-b5e6-96231b3b80d8
* testcase for PR 1779.Dale Johannesen2008-11-13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59268 91177308-0d34-0410-b5e6-96231b3b80d8
* Added testcase for r59214.Bill Wendling2008-11-13
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59218 91177308-0d34-0410-b5e6-96231b3b80d8
* Add test case for ptr annotation.Tanya Lattner2008-11-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59142 91177308-0d34-0410-b5e6-96231b3b80d8
* Correct some thinkos in the expansion of ADD/SUBDuncan Sands2008-11-12
| | | | | | | | when the target does not support ADDC/SUBC. This fixes PR3044. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59120 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the testb optimization so x86 also bootstraps.Dale Johannesen2008-11-12
| | | | | | | | Reenable test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59101 91177308-0d34-0410-b5e6-96231b3b80d8
* fix another libgcc blockerAndrew Lenharth2008-11-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59026 91177308-0d34-0410-b5e6-96231b3b80d8
* Un-XFAIL tests now that they're fixed.Bill Wendling2008-11-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59023 91177308-0d34-0410-b5e6-96231b3b80d8
* r59009 broke these tests. XFAIL for now.Bill Wendling2008-11-11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59010 91177308-0d34-0410-b5e6-96231b3b80d8
* Temporarily revert r58979 and related patch. It's causing a failure in X86 ↵Bill Wendling2008-11-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59003 91177308-0d34-0410-b5e6-96231b3b80d8
* If the sign of exit condition and split condition does not matchDevang Patel2008-11-10
| | | | | | | then do not split loop index. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58995 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR2667: add soft float support for sint_to_fp/uint_to_fpDuncan Sands2008-11-10
| | | | | | | | where the argument is an apint, or smaller than the minimum size for which there is a libcall (i32). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58994 91177308-0d34-0410-b5e6-96231b3b80d8
* When promoting the result of fp_to_uint/fp_to_sint,Duncan Sands2008-11-10
| | | | | | | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58991 91177308-0d34-0410-b5e6-96231b3b80d8
* Reenable test.Dale Johannesen2008-11-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58980 91177308-0d34-0410-b5e6-96231b3b80d8
* The method of doing the matching with a 'select' instruction was wrong. TheBill Wendling2008-11-09
| | | | | | | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58946 91177308-0d34-0410-b5e6-96231b3b80d8
* XFAIL this while waiting for a fix.Duncan Sands2008-11-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58934 91177308-0d34-0410-b5e6-96231b3b80d8
* If the LHS of the FCMP is coming from a UIToFP instruction, then we don't wantBill Wendling2008-11-09
| | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58929 91177308-0d34-0410-b5e6-96231b3b80d8
* CellSPU: Update expected counts on expected patternsScott Michel2008-11-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58927 91177308-0d34-0410-b5e6-96231b3b80d8
* Add LLVMC2 tool definitions for Objective-C and Objective-C++.Daniel Dunbar2008-11-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58885 91177308-0d34-0410-b5e6-96231b3b80d8
* Generated code for generic expansion of SETUGT etc.Dale Johannesen2008-11-08
| | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58876 91177308-0d34-0410-b5e6-96231b3b80d8
* Xfail an incorrect test.Dale Johannesen2008-11-08
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58875 91177308-0d34-0410-b5e6-96231b3b80d8
* Add basic test for XCore backendRichard Osborne2008-11-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58841 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for testb optimization.Dale Johannesen2008-11-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58827 91177308-0d34-0410-b5e6-96231b3b80d8
* Handle (delete) dbg intrinsics while promoting alloca.Devang Patel2008-11-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58826 91177308-0d34-0410-b5e6-96231b3b80d8
* Emit label for llvm.dbg.func.start of the inlined function.Devang Patel2008-11-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58814 91177308-0d34-0410-b5e6-96231b3b80d8
* Emit label for llvm.dbg.func.start of the inlined function.Devang Patel2008-11-06
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58786 91177308-0d34-0410-b5e6-96231b3b80d8
* Make ISel ignore dead nodes. The DAGCombiner normally eliminatesDan Gohman2008-11-05
| | | | | | | | dead nodes, but in this case its missing one. Fixing the DAGCombiner is desirable, but it's somewhat involved. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58777 91177308-0d34-0410-b5e6-96231b3b80d8
* Add PR number.Devang Patel2008-11-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58765 91177308-0d34-0410-b5e6-96231b3b80d8
* Add more vector move low and zero-extend patterns.Evan Cheng2008-11-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58752 91177308-0d34-0410-b5e6-96231b3b80d8
* New test case.Devang Patel2008-11-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58745 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new pass to simplify specific half_powr function calls. This isDan Gohman2008-11-04
| | | | | | | a specialized pass that it not likely to be generally useful. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58732 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix tests not to emit IR outputAnton Korobeynikov2008-11-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58729 91177308-0d34-0410-b5e6-96231b3b80d8
* Actually ARM / Mac OS X does have UINTTOFP_I64_F{64|32} libcalls.Evan Cheng2008-11-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58725 91177308-0d34-0410-b5e6-96231b3b80d8
* Custom lower bit_convert i64 -> f64 into FMDRR. This is now happening with ↵Evan Cheng2008-11-04
| | | | | | legalizetypes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58714 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR3011: LegalizeTypes support for scalarizingDuncan Sands2008-11-04
| | | | | | | SELECT_CC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58706 91177308-0d34-0410-b5e6-96231b3b80d8
* The ANDMask node folds to a constant, and isn't the node that needs toDan Gohman2008-11-03
| | | | | | | | have its node id set. The new and and shift nodes are the nodes that need the IDs. This fixes PR2982. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58655 91177308-0d34-0410-b5e6-96231b3b80d8
* Ignore conditions that are outside the loop.Devang Patel2008-11-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58631 91177308-0d34-0410-b5e6-96231b3b80d8
* Turn floating point IVs into integer IVs where possible.Devang Patel2008-11-03
| | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58625 91177308-0d34-0410-b5e6-96231b3b80d8
* Change how extended types are represented in MVTs. Instead of fiddlingDan Gohman2008-11-03
| | | | | | | | | | | | | | | | | | | | | | | | | 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58623 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for recent llvm-gcc fixAnton Korobeynikov2008-11-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58611 91177308-0d34-0410-b5e6-96231b3b80d8
* Make VAARG work with x86 long double (which isDuncan Sands2008-11-03
| | | | | | | 10 bytes long, but is passed in 12/16 bytes). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58608 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't crash analyzing certain quadratics (addrec of {X,+,Y,+,1}).Nick Lewycky2008-11-03
| | | | | | | We're still waiting on code that actually analyzes them properly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58592 91177308-0d34-0410-b5e6-96231b3b80d8
* Changes from Duncan's review:Nick Lewycky2008-11-02
| | | | | | | | | * merge two weak functions by making them both alias a third non-weak fn * don't reimplement CallSite::hasArgument * whitelist the safe linkage types git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58568 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for PR2691Anton Korobeynikov2008-11-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58567 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a new MergeFunctions pass. It finds identical functions and merges them.Nick Lewycky2008-11-02
| | | | | | | | | This triggers only 60 times in llvm-test (look at .llvm.bc, not .linked.rbc) and so it probably wont be turned on by default. Also, may of those are likely to go away when PR2973 is fixed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58557 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix demanded bits analysis with srem by negative number. Based on a patchNick Lewycky2008-11-02
| | | | | | | by Richard Osborne. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58555 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix this recently moved code to use the correct type. CI is now aDan Gohman2008-11-02
| | | | | | | | ConstantInt, and SI is the original cast instruction. This fixes PR2996. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58549 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for PR2613Anton Korobeynikov2008-10-31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58537 91177308-0d34-0410-b5e6-96231b3b80d8