summaryrefslogtreecommitdiffstats
path: root/llvm/test/Analysis/ScalarEvolution
Commit message (Collapse)AuthorAgeFilesLines
...
* Whoops -- forgot PR reference on this test.Nick Lewycky2008-05-261-0/+1
| | | | llvm-svn: 51569
* Use {} instead of "" in RUN lines.Nick Lewycky2008-05-261-1/+1
| | | | llvm-svn: 51561
* Don't treat values as signed when looking at loop steppings in HowForToNonZero.Nick Lewycky2008-05-251-0/+20
| | | | llvm-svn: 51560
* Temporarily reverting 46959.Evan Cheng2008-02-251-0/+1
| | | | llvm-svn: 47542
* Add 'umax' similar to 'smax' SCEV. Closes PR2003.Nick Lewycky2008-02-202-1/+18
| | | | | | | | | | | | | | | Parse reversed smax and umax as smin and umin and express them with negative or binary-not SCEVs (which are really just subtract under the hood). Parse 'xor %x, -1' as (-1 - %x). Remove dead code (ConstantInt::get always returns a ConstantInt). Don't use getIntegerSCEV(-1, Ty). The first value is an int, then it gets passed into a uint64_t. Instead, create the -1 directly from ConstantInt::getAllOnesValue(). llvm-svn: 47360
* 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
* 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
* Fix bug in regression tests that ignored stderr output in RUN lines. Updated ↵Tanya Lattner2007-11-281-1/+1
| | | | | | | | tests and fixed broken run lines. XFAILed 3 arm regressions (will file bugs) llvm-svn: 44389
* Change grep '' to grep {}.Dan Gohman2007-11-273-3/+3
| | | | | | Change 2>&1 | to |&. llvm-svn: 44344
* Add new SCEV, SCEVSMax. This allows LLVM to analyze do-while loops.Nick Lewycky2007-11-252-0/+30
| | | | llvm-svn: 44319
* Be more careful when transforming | to +. Patch from Wojciech Matyjewicz.Nick Lewycky2007-11-201-0/+18
| | | | llvm-svn: 44248
* Reverted r44163 per requestAnton Korobeynikov2007-11-151-0/+1
| | | | llvm-svn: 44177
* Fix handling of overflow in loop calculation by adding new UDiv SCEV. This SCEVNick Lewycky2007-11-151-0/+24
| | | | | | | is disabled in the sense that it will refuse to create one from a UDiv instruction, until the code is better tested. llvm-svn: 44163
* Build the correct range for loops with unusual bounds. Fix from Jay Foad.Nick Lewycky2007-09-271-0/+21
| | | | llvm-svn: 42394
* Add reference to problem report.Nick Lewycky2007-08-071-0/+1
| | | | llvm-svn: 40889
* Fix the dates on these tests. It's not September yet. Thanks Reid!Nick Lewycky2007-08-062-0/+0
| | | | llvm-svn: 40869
* Let scalar-evolution analyze loops with an unsigned comparison for the exitNick Lewycky2007-08-061-0/+29
| | | | | | condition. Fixes 1597. llvm-svn: 40867
* Don't assume it's safe to transform a loop just because it's dominated by anyNick Lewycky2007-08-061-0/+18
| | | | | | comparison. Fixes bug 1598. llvm-svn: 40866
* Handle decrementing loops properly. Fixes PR1533.Nick Lewycky2007-07-161-0/+20
| | | | | | | | Always pass the constant as the second parameter to HowManyLessThans. Remove obsolete "isSigned" parameter. llvm-svn: 39893
* Convert .cvsignore filesJohn Criswell2007-06-291-1/+0
| | | | llvm-svn: 37801
* Add two test cases to cover apintification change.Zhou Sheng2007-04-262-0/+67
| | | | llvm-svn: 36476
* For PR1319:Reid Spencer2007-04-152-4/+4
| | | | | | Upgrade to use new Tcl exec based test harness. llvm-svn: 36066
* Make the llvm-runtest function much more amenable by eliminating all theReid Spencer2007-04-111-1/+1
| | | | | | | | global variables that needed to be passed in. This makes it possible to add new global variables with only a couple changes (Makefile and llvm-dg.exp) instead of touching every single dg.exp file. llvm-svn: 35918
* Remove use of implementation keyword.Reid Spencer2007-03-281-1/+0
| | | | llvm-svn: 35412
* For PR411:Reid Spencer2007-01-301-4/+2
| | | | | | | | Update these tests to not use the same name even though the type of the value differs. After PR411 hits, type planes will be gone and it will be illegal for a name to be used twice, regardless of type. llvm-svn: 33660
* For PR761:Reid Spencer2007-01-261-4/+5
| | | | | | | | | | | | | | Remove "target endian/pointersize" or add "target datalayout" to make the test parse properly or set the datalayout because defaults changes. For PR645: Make global names use the @ prefix. For llvm-upgrade changes: Fix test cases or completely remove use of llvm-upgrade for test cases that cannot survive the new renaming or upgrade capabilities. llvm-svn: 33533
* Regression is gone, don't try to find it on clean target.Reid Spencer2007-01-173-0/+35
llvm-svn: 33296
OpenPOWER on IntegriCloud