summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAge
* Minor optimization. sign-ext/anyext of undef is still undef.Evan Cheng2011-03-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127598 91177308-0d34-0410-b5e6-96231b3b80d8
* PTX: Emit global arrays with proper sizesJustin Holewinski2011-03-14
| | | | | | | - Emit all arrays as type .b8 and proper sizes in bytes to conform to the output of nvcc git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127584 91177308-0d34-0410-b5e6-96231b3b80d8
* PTX: Add support for sqrt/sin/cos intrinsicsJustin Holewinski2011-03-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127578 91177308-0d34-0410-b5e6-96231b3b80d8
* ptx: add set.p instruction and related changes to predicate executionChe-Liang Chiou2011-03-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127577 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach ComputeMaskedBits about sub nsw.Benjamin Kramer2011-03-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127548 91177308-0d34-0410-b5e6-96231b3b80d8
* Saving files before committing is overrated.Eric Christopher2011-03-12
| | | | | | | Add a RUN line to this test. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127520 91177308-0d34-0410-b5e6-96231b3b80d8
* Sometimes isPredicable lies to us and tells us we don't need the operands.Eric Christopher2011-03-12
| | | | | | | | | | Go ahead and add them on when we might want to use them and let later passes remove them. Fixes rdar://9118569 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127518 91177308-0d34-0410-b5e6-96231b3b80d8
* Properly pseudo-ize the ARM LDMIA_RET instruction. This has the nice side-Jim Grosbach2011-03-11
| | | | | | | | effect that we get proper instruction printing using the "pop" mnemonic for it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127502 91177308-0d34-0410-b5e6-96231b3b80d8
* Roll r127459 back in:Cameron Zwarich2011-03-11
| | | | | | | | | | | Optimize trivial branches in CodeGenPrepare, which often get created from the lowering of objectsize intrinsics. Unfortunately, a number of tests were relying on llc not optimizing trivial branches, so I had to add an option to allow them to continue to test what they originally tested. This fixes <rdar://problem/8785296> and <rdar://problem/9112893>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127498 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix the GCC test suite issue exposed by r127477, which was caused by stackCameron Zwarich2011-03-11
| | | | | | | protector insertion not working correctly with unreachable code. Since that revision was rolled out, this test doesn't actual fail before this fix. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127497 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r127459, "Optimize trivial branches in CodeGenPrepare, which often getDaniel Dunbar2011-03-11
| | | | | | created from the", it broke some GCC test suite tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127477 91177308-0d34-0410-b5e6-96231b3b80d8
* ComputeMaskedBits: sub falls through to add, and sub doesn't have the same ↵Benjamin Kramer2011-03-11
| | | | | | | | overflow semantics as add. Should fix the selfhost failures that started with r127463. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127465 91177308-0d34-0410-b5e6-96231b3b80d8
* InstCombine: Fix a thinko where transform an icmp under the assumption that ↵Benjamin Kramer2011-03-11
| | | | | | | | it's a zero comparison when it's not. Fixes PR9454. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127464 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach ComputeMaskedBits about nsw on add. I don't think there's anything we canNick Lewycky2011-03-11
| | | | | | | | do with nuw here, but sub and mul should be given similar treatment. Fixes PR9343 #15! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127463 91177308-0d34-0410-b5e6-96231b3b80d8
* Optimize trivial branches in CodeGenPrepare, which often get created from theCameron Zwarich2011-03-11
| | | | | | | | | | lowering of objectsize intrinsics. Unfortunately, a number of tests were relying on llc not optimizing trivial branches, so I had to add an option to allow them to continue to test what they originally tested. This fixes <rdar://problem/8785296> and <rdar://problem/9112893>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127459 91177308-0d34-0410-b5e6-96231b3b80d8
* Change the x86 32-bit scheduler to register pressure and fix up theEric Christopher2011-03-11
| | | | | | | | | corresponding testcases back to the previous versions. Fixes some performance regressions only seen on 32-bit. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127441 91177308-0d34-0410-b5e6-96231b3b80d8
* Avoid replacing the value of a directly stored load with the stored value if ↵Evan Cheng2011-03-11
| | | | | | the load is indexed. rdar://9117613. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127440 91177308-0d34-0410-b5e6-96231b3b80d8
* Properly pseudo-ize MOVCCr and MOVCCs.Jim Grosbach2011-03-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127434 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix reassociate to postpone certain instruction deletions untilDan Gohman2011-03-10
| | | | | | | | | | | after it has finished all of its reassociations, because its habit of unlinking operands and holding them in a datastructure while working means that it's not easy to determine when an instruction is really dead until after all its regular work is done. rdar://9096268. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127424 91177308-0d34-0410-b5e6-96231b3b80d8
* InstCombine: Turn umul_with_overflow into mul nuw if we can prove that it ↵Benjamin Kramer2011-03-10
| | | | | | | | | | cannot overflow. This happens a lot in clang-compiled C++ code because it adds overflow checks to operator new[]: unsigned *foo(unsigned n) { return new unsigned[n]; } We can optimize away the overflow check on 64 bit targets because (uint64_t)n*4 cannot overflow. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127418 91177308-0d34-0410-b5e6-96231b3b80d8
* PTX: Add preliminary support for floating-point divide and multiply-and-addJustin Holewinski2011-03-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127410 91177308-0d34-0410-b5e6-96231b3b80d8
* ptx: add the rest of special registers of ISA version 2.0Che-Liang Chiou2011-03-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127397 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert 127359; it broke lencod.Stuart Hastings2011-03-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127382 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert "Re-enable test and hope to silence the buildbots", still broken.Daniel Dunbar2011-03-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127369 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix mistyped CHECK lines.Benjamin Kramer2011-03-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127366 91177308-0d34-0410-b5e6-96231b3b80d8
* Tweak test to work on Linux.Stuart Hastings2011-03-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127364 91177308-0d34-0410-b5e6-96231b3b80d8
* Disable this test temporarily to reduce BuildBot complaints.Stuart Hastings2011-03-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127363 91177308-0d34-0410-b5e6-96231b3b80d8
* Preserve line number information while simplifying libcalls.Devang Patel2011-03-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127362 91177308-0d34-0410-b5e6-96231b3b80d8
* X86 byval copies no longer always_inline. <rdar://problem/8706628>Stuart Hastings2011-03-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127359 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a testcase for the addc improvements introduced some commits ago. Patch ↵Bruno Cardoso Lopes2011-03-09
| | | | | | by Akira Hatanaka git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127358 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-enable test and hope to silence the buildbotsBruno Cardoso Lopes2011-03-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127357 91177308-0d34-0410-b5e6-96231b3b80d8
* try to make o32 cc tests less specific to silence some buildbots. The test ↵Bruno Cardoso Lopes2011-03-09
| | | | | | isn't enabled yet, this is will be done in a subsequent commit. Patch by Akira Hatanaka. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127356 91177308-0d34-0410-b5e6-96231b3b80d8
* LLVM combines the offset mode of A8.6.199 A1 & A2 into STRBT.Johnny Chen2011-03-09
| | | | | | | | | | The insufficient encoding information of the combined instruction confuses the decoder wrt UQADD16. Add extra logic to recover from that. Fixed an assert reported by Sean Callanan git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127354 91177308-0d34-0410-b5e6-96231b3b80d8
* Make physreg coalescing independent on the number of uses of the virtual ↵Jakob Stoklund Olesen2011-03-09
| | | | | | | | | | | | | | | | | register. The damage done by physreg coalescing only depends on the number of instructions the extended physreg live range covers. This fixes PR9438. The heuristic is still luck-based, and physreg coalescing really should be disabled completely. We need a register allocator with better hinting support before that is possible. Convert a test to FileCheck and force spilling by inserting an extra call. The previous spilling behavior was dependent on misguided physreg coalescing decisions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127351 91177308-0d34-0410-b5e6-96231b3b80d8
* Delete a test case that is very sensitive to coalescer behavior.Jakob Stoklund Olesen2011-03-09
| | | | | | | | The test is derived from an old miscompilation of MultiSource/Benchmarks/VersaBench/8b10b which is run regularly, so we are not losing coverage. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127350 91177308-0d34-0410-b5e6-96231b3b80d8
* Improve varags handling, with testcases. Patch by Sasa StankovicBruno Cardoso Lopes2011-03-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127349 91177308-0d34-0410-b5e6-96231b3b80d8
* This test case should work with list-ilp or list-burr.Andrew Trick2011-03-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127348 91177308-0d34-0410-b5e6-96231b3b80d8
* When SCEV can determine the loop test is X < X, set ExactBECount=0.Andrew Trick2011-03-09
| | | | | | | | | When ExactBECount is a constant, use it for MaxBECount. When MaxBECount cannot be computed, replace it with ExactBECount. Fixes PR9424. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127342 91177308-0d34-0410-b5e6-96231b3b80d8
* Target/X86: Tweak va_arg for Win64 not to miss taking va_start when number ↵NAKAMURA Takumi2011-03-09
| | | | | | of fixed args > 4. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127328 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a test case for r127320.Cameron Zwarich2011-03-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127321 91177308-0d34-0410-b5e6-96231b3b80d8
* Add another micro-optimization. Apologies for the lack of refactoring, but INick Lewycky2011-03-09
| | | | | | | | | | gave up when I realized I couldn't come up with a good name for what the refactored function would be, to describe what it does. This is PR9343 test12, which is test3 with arguments reordered. Whoops! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127318 91177308-0d34-0410-b5e6-96231b3b80d8
* Add support to scalar replacement for partial vector accesses of an alloca, e.g.Cameron Zwarich2011-03-09
| | | | | | | | | | | | | | | | | a union of a float, <2 x float>, and <4 x float>. This mostly comes up with the use of vector intrinsics, especially in NEON when programmers know the layout of the register file. This enables codegen to eliminate a lot of the subregister traffic it would otherwise generate. This commit only enables this for a small number of floating-point cases, but a lot more integer cases. I assume this is okay for all ports, but I did not do extensive testing of the quality of code involving i512 vectors and the like. If there is a use case where this generates worse code than before, let me know and we can scale it back. This fixes <rdar://problem/9036264>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127317 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a RUN line to the test case to make it functional. <rdar://problem/9055247>Stuart Hastings2011-03-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127312 91177308-0d34-0410-b5e6-96231b3b80d8
* Test cases for r127309. <rdar://problem/9055247>Stuart Hastings2011-03-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127310 91177308-0d34-0410-b5e6-96231b3b80d8
* Build bots hate me.Bill Wendling2011-03-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127307 91177308-0d34-0410-b5e6-96231b3b80d8
* PR9346: Prevent SimplifyDemandedBits from incorrectly introducingEli Friedman2011-03-09
| | | | | | | | INT_MIN % -1. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127306 91177308-0d34-0410-b5e6-96231b3b80d8
* Testcase for r127301.Bill Wendling2011-03-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127304 91177308-0d34-0410-b5e6-96231b3b80d8
* PR9420; an instruction before an unreachable is guaranteed not to have anyEli Friedman2011-03-09
| | | | | | | | | | reachable uses, but there still might be uses in dead blocks. Use the standard solution of replacing all the uses with undef. This is a rare case because it's very sensitive to phase ordering in SimplifyCFG. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127299 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix testcase.Eric Christopher2011-03-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127298 91177308-0d34-0410-b5e6-96231b3b80d8
* * Correct encoding for VSRI.Bill Wendling2011-03-09
| | | | | | | * Add tests for VSRI and VSLI. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127297 91177308-0d34-0410-b5e6-96231b3b80d8