summaryrefslogtreecommitdiffstats
path: root/llvm/test
Commit message (Collapse)AuthorAgeFilesLines
* Remove llvm-upgrade.Tanya Lattner2008-02-172-17/+21
| | | | llvm-svn: 47230
* this test isn't useful since we added @ notation for globals.Chris Lattner2008-02-171-21/+0
| | | | llvm-svn: 47229
* this line was commented out.Chris Lattner2008-02-171-1/+1
| | | | llvm-svn: 47228
* Remove llvm-upgrade and update tests.Tanya Lattner2008-02-162-31/+8
| | | | llvm-svn: 47227
* Removing llvm upgrade, so remove tests specific to llvm-upgrade and update ↵Tanya Lattner2008-02-1627-13270/+13054
| | | | | | the tests that used it. llvm-svn: 47225
* Remove any 'nest' parameter attributes if the functionDuncan Sands2008-02-161-0/+57
| | | | | | is not passed as an argument to a trampoline intrinsic. llvm-svn: 47220
* llvm.memory.barrier, and impl for x86 and alphaAndrew Lenharth2008-02-166-0/+79
| | | | llvm-svn: 47204
* upgrade this test, which wasn't testing the right thing since llvm-upgrade ↵Chris Lattner2008-02-151-7/+7
| | | | | | came around. llvm-svn: 47194
* rename llx -> llChris Lattner2008-02-151-0/+0
| | | | llvm-svn: 47192
* This test is not interesting.Evan Cheng2008-02-151-21/+0
| | | | llvm-svn: 47189
* Modify test to expect improved code.Dale Johannesen2008-02-151-4/+4
| | | | llvm-svn: 47182
* Fix this test on linux, which returns S242Duncan Sands2008-02-151-1/+2
| | | | | | using sret. llvm-svn: 47173
* Fix PR2028Devang Patel2008-02-151-0/+5
| | | | llvm-svn: 47150
* If loop header is also loop exiting block then OrigPN is incoming value for ↵Devang Patel2008-02-141-0/+464
| | | | | | | | B loop header. Fixes PR 2030. llvm-svn: 47141
* Fix PR2029Chris Lattner2008-02-141-0/+14
| | | | llvm-svn: 47129
* Fix a miscompilation from Dan's recent apintification.Chris Lattner2008-02-141-0/+8
| | | | llvm-svn: 47128
* Remove llvm-upgradeTanya Lattner2008-02-1447-346/+267
| | | | llvm-svn: 47119
* Testcase for PR2032.Nick Lewycky2008-02-141-0/+22
| | | | llvm-svn: 47113
* Remove llvm-upgrade.Tanya Lattner2008-02-1443-597/+561
| | | | llvm-svn: 47110
* This readme entry is done, testcase here: CodeGen/X86/zero-remat.llChris Lattner2008-02-141-0/+2
| | | | llvm-svn: 47106
* Fix test.Evan Cheng2008-02-141-1/+1
| | | | llvm-svn: 47102
* A loop latch phi node may have uses inside loop, not just in loop header.Devang Patel2008-02-131-0/+74
| | | | llvm-svn: 47093
* While moving exit condition, do not drop loop latch on the floor.Devang Patel2008-02-131-0/+72
| | | | llvm-svn: 47089
* Keep track of exit value operand number when operands are swapped.Devang Patel2008-02-131-0/+67
| | | | llvm-svn: 47082
* New test, see comments.Dale Johannesen2008-02-131-0/+48
| | | | llvm-svn: 47078
* Teach LegalizeTypes how to expand and promote CTLZ,Duncan Sands2008-02-131-12/+11
| | | | | | | | | | | | | | | | | | CTTZ and CTPOP. The expansion code differs from that in LegalizeDAG in that it chooses to take the CTLZ/CTTZ count from the Hi/Lo part depending on whether the Hi/Lo value is zero, not on whether CTLZ/CTTZ of Hi/Lo returned 32 (or whatever the width of the type is) for it. I made this change because the optimizers may well know that Hi/Lo is zero and exploit it. The promotion code for CTTZ also differs from that in LegalizeDAG: it uses an "or" to get the right result when the original value is zero, rather than using a compare and select. This also means the value doesn't need to be zero extended. llvm-svn: 47075
* Add a note pointing to PR1996.Eli Friedman2008-02-131-0/+1
| | | | llvm-svn: 47055
* In SDISel, for targets that support FORMAL_ARGUMENTS nodes, lower thisChris Lattner2008-02-131-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | node as soon as we create it in SDISel. Previously we would lower it in legalize. The problem with this is that it only exposes the argument loads implied by FORMAL_ARGUMENTs after legalize, so that only dag combine 2 can hack on them. This causes us to miss some optimizations because datatype expansion also happens here. Exposing the loads early allows us to do optimizations on them. For example we now compile arg-cast.ll to: _foo: movl $2147483647, %eax andl 8(%esp), %eax ret where we previously produced: _foo: subl $12, %esp movsd 16(%esp), %xmm0 movsd %xmm0, (%esp) movl $2147483647, %eax andl 4(%esp), %eax addl $12, %esp ret It might also make sense to do this for ISD::CALL nodes, which have implicit stores on many targets. llvm-svn: 47054
* Add test for PR1996. (This is my first time adding a test for a Eli Friedman2008-02-131-0/+19
| | | | | | transform, so please review.) llvm-svn: 47050
* Add testcase for recent legalizer changeNate Begeman2008-02-131-0/+8
| | | | llvm-svn: 47049
* New tests.Evan Cheng2008-02-133-0/+71
| | | | llvm-svn: 47047
* Re-apply the patch to improve the optimizations of memcpy's, with severalOwen Anderson2008-02-121-1/+0
| | | | | | bugs fixed. This now passes PPC bootstrap. llvm-svn: 47026
* Don't mask the isel bug.Evan Cheng2008-02-123-3/+3
| | | | llvm-svn: 47018
* This test assumes no SSE4.1.Evan Cheng2008-02-121-1/+1
| | | | llvm-svn: 47017
* Now that ScalarEvolution::print writes to the correct stream, there is Wojciech Matyjewicz2008-02-127-7/+7
| | | | | | no need to redirect stderr into stdout. llvm-svn: 47009
* Change negative grep into positive one in my yesterday's testcase.Wojciech Matyjewicz2008-02-121-1/+1
| | | | llvm-svn: 47008
* Fix PR2002. Suppose n is the initial value for the induction Wojciech Matyjewicz2008-02-121-0/+16
| | | | | | | | | | variable (with step 1) and m is its final value. Then, the correct trip count is SMAX(m,n)-n. Previously, we used SMAX(0,m-n), but m-n may overflow and can't in general be interpreted as signed. Patch by Nick Lewycky. llvm-svn: 47007
* Test case for annotate builtin.Tanya Lattner2008-02-121-0/+7
| | | | llvm-svn: 46999
* Fix some test cases.Evan Cheng2008-02-123-3/+3
| | | | llvm-svn: 46998
* If the LHS of the comparison is a loop-invariant we also want to move it Wojciech Matyjewicz2008-02-111-0/+15
| | | | | | | | to the RHS. This simple change allows to compute loop iteration count for loops with condition similar to the one in the testcase (which seems to be quite common). llvm-svn: 46959
* Fix PR1798 - an error in the evaluation of SCEVAddRecExpr at an Wojciech Matyjewicz2008-02-111-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | arbitrary iteration. The patch: 1) changes SCEVSDivExpr into SCEVUDivExpr, 2) replaces PartialFact() function with BinomialCoefficient(); the computations (essentially, the division) in BinomialCoefficient() are performed with the apprioprate bitwidth necessary to avoid overflow; unsigned division is used instead of the signed one. Computations in BinomialCoefficient() require support from the code generator for APInts. Currently, we use a hack rounding up the neccessary bitwidth to the nearest power of 2. The hack is easy to turn off in future. One remaining issue: we assume the divisor of the binomial coefficient formula can be computed accurately using 16 bits. It means we can handle AddRecs of length up to 9. In future, we should use APInts to evaluate the divisor. Thanks to Nicholas for cooperation! llvm-svn: 46955
* Determine whether a spill kills the register it's spilling before insertion ↵Evan Cheng2008-02-111-0/+10
| | | | | | rather than trying to undo the kill marker afterwards. llvm-svn: 46953
* Rename MRegisterInfo to TargetRegisterInfo.Dan Gohman2008-02-101-1/+1
| | | | llvm-svn: 46930
* Alignment of struct containing vectors depends onDale Johannesen2008-02-091-1/+1
| | | | | | | whether SSE is present, on Darwin anyway. Make it explicit. llvm-svn: 46909
* Fix PR 1995.Devang Patel2008-02-081-0/+48
| | | | llvm-svn: 46898
* It's not always safe to fold movsd into xorpd, etc. Check the alignment of ↵Evan Cheng2008-02-081-0/+99
| | | | | | the load address first to make sure it's 16 byte aligned. llvm-svn: 46893
* Added missing entries in X86 load / store folding tables.Evan Cheng2008-02-081-0/+20
| | | | llvm-svn: 46866
* Fix a x86-64 codegen deficiency. Allow gv + offset when using rip addressing ↵Evan Cheng2008-02-072-33/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mode. Before: _main: subq $8, %rsp leaq _X(%rip), %rax movsd 8(%rax), %xmm1 movss _X(%rip), %xmm0 call _t xorl %ecx, %ecx movl %ecx, %eax addq $8, %rsp ret Now: _main: subq $8, %rsp movsd _X+8(%rip), %xmm1 movss _X(%rip), %xmm0 call _t xorl %ecx, %ecx movl %ecx, %eax addq $8, %rsp ret Notice there is another idiotic codegen issue that needs to be fixed asap: xorl %ecx, %ecx movl %ecx, %eax llvm-svn: 46850
* It's PR1925, not PR1609.Evan Cheng2008-02-061-1/+1
| | | | llvm-svn: 46825
* Temporarily reverting:Bill Wendling2008-02-061-0/+1
| | | | | | | | http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20080128/057882.html This is causing a miscompilation on PPC G5 and just now seeing it on iMac x86-64. llvm-svn: 46822
OpenPOWER on IntegriCloud