aboutsummaryrefslogtreecommitdiffstats
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
...
* 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58876 91177308-0d34-0410-b5e6-96231b3b80d8
* Xfail an incorrect test.Dale Johannesen2008-11-081-0/+7
| | | | 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-072-0/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58841 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for testb optimization.Dale Johannesen2008-11-071-0/+25
| | | | 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-071-0/+56
| | | | 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-061-0/+1
| | | | 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-061-0/+71
| | | | 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-051-0/+22
| | | | | | | | 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-051-0/+1
| | | | 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-051-0/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58752 91177308-0d34-0410-b5e6-96231b3b80d8
* New test case.Devang Patel2008-11-051-0/+6
| | | | 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-041-0/+41
| | | | | | | 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-042-2/+2
| | | | 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-041-0/+17
| | | | 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-041-0/+29
| | | | | | 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-041-0/+9
| | | | | | | 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-031-0/+26
| | | | | | | | 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-031-0/+47
| | | | 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-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. 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-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. 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-031-0/+3
| | | | 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-031-0/+17
| | | | | | | 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-031-0/+21
| | | | | | | 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-021-0/+11
| | | | | | | | | * 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-021-0/+5
| | | | 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-023-0/+61
| | | | | | | | | 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-021-0/+8
| | | | | | | 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-021-0/+12
| | | | | | | | 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-311-0/+61
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58537 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a bunch of libcalls for ppcf128 that were somehowDuncan Sands2008-10-311-0/+37
| | | | | | | completely forgotten about when writing LegalizeTypes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58508 91177308-0d34-0410-b5e6-96231b3b80d8
* Use MOVSSmr instead of EXTRACTPSmr in the case of extractingDan Gohman2008-10-311-2/+10
| | | | | | | vector element 0 for a store, as it's smaller and faster. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58483 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for PR2987.Duncan Sands2008-10-301-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58459 91177308-0d34-0410-b5e6-96231b3b80d8
* Canonicalize sext(i1) to i1?-1:0, and update various instcombineDan Gohman2008-10-301-1/+25
| | | | | | | optimizations accordingly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58457 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for PR2986.Duncan Sands2008-10-301-0/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58456 91177308-0d34-0410-b5e6-96231b3b80d8
* Add InlineCost class for represent the estimated cost of inlining aDaniel Dunbar2008-10-301-0/+14
| | | | | | | | | | function. - This explicitly models the costs for functions which should "always" or "never" be inlined. This fixes bugs where such costs were not previously respected. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58450 91177308-0d34-0410-b5e6-96231b3b80d8
* Resolve bug 2947: vararg-marked functions must spill registers R3-R79 to stackScott Michel2008-10-301-0/+8
| | | | | | | | | | so that va_start/va_arg/et.al. will walk arguments correctly for Cell SPU. N.B.: Because neither clang nor llvm-gcc-4.2 can be built for CellSPU, this is still unexorcised code. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58415 91177308-0d34-0410-b5e6-96231b3b80d8
* add testcase for PR2964Chris Lattner2008-10-291-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58393 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for PR2917.Duncan Sands2008-10-291-0/+489
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58389 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR2967 by not deleting volatile load/stores that occur before unreachable.Chris Lattner2008-10-291-0/+19
| | | | | | | | I don't really see this as being needed, but there is little harm from doing it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58385 91177308-0d34-0410-b5e6-96231b3b80d8
* Make the declaration of bzero match size_t onDuncan Sands2008-10-291-1/+1
| | | | | | | x86-64-linux. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58383 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix PR2977: LegalizeTypes support for expandingDuncan Sands2008-10-291-0/+10
| | | | | | | VAARG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58379 91177308-0d34-0410-b5e6-96231b3b80d8
* - More pre-split fixes: spill slot live interval computation bug; restore ↵Evan Cheng2008-10-292-1/+52
| | | | | | | | | point bug. - If a def is spilt, remember its spill index to allow its reuse. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58375 91177308-0d34-0410-b5e6-96231b3b80d8
* (A & sext(C)) | (B & ~sext(C) -> C ? A : BDan Gohman2008-10-281-0/+20
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58351 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix darwin ppc llvm-gcc build breakage: interceptDuncan Sands2008-10-281-0/+33
| | | | | | | | | | | ppcf128 to i32 conversion and expand it into a code sequence like in LegalizeDAG. This needs custom ppc lowering of FP_ROUND_INREG, so turn that on and make it work with LegalizeTypes. Probably PPC should simply custom lower the original conversion. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58329 91177308-0d34-0410-b5e6-96231b3b80d8
* Turn off LegalizeTypes for this test for theDuncan Sands2008-10-281-1/+1
| | | | | | | moment, while waiting for a proper solution. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58324 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a testcase provided by Bill in which the nodeDuncan Sands2008-10-281-0/+11
| | | | | | | | | id could end up being wrong mostly because of forgetting to remap new nodes that morphed into processed nodes through CSE. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58323 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix a nasty miscompilation of 176.gcc on linux/x86 where we synthesizedChris Lattner2008-10-281-0/+22
| | | | | | | | | | | | | a memset using 16-byte XMM stores, but where the stack realignment code didn't work. Until it does (PR2962) disable use of xmm regs in memcpy and memset formation for linux and other targets with insufficiently aligned stacks. This is part of PR2888 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58317 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid putting a split past the end of the live range; always shrink wrap ↵Evan Cheng2008-10-282-0/+73
| | | | | | live interval in the barrier mbb. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58309 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove val# defined by a remat'ed def that is now dead.Evan Cheng2008-10-271-0/+44
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58294 91177308-0d34-0410-b5e6-96231b3b80d8
* rename vec_spat -> vec_splat, pointed out by duncanChris Lattner2008-10-271-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58260 91177308-0d34-0410-b5e6-96231b3b80d8