Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Fix a scalar evolution bug. Reversing everything | Dale Johannesen | 2008-04-18 | 1 | -2/+1 | |
| | | | | | | does not work because of 0; 2>0 but -2U is also >0. llvm-svn: 49928 | |||||
* | Make GVN able to remove unnecessary calls to read-only functions again. | Owen Anderson | 2008-04-17 | 1 | -2/+1 | |
| | | | | llvm-svn: 49842 | |||||
* | Major repairs to the post-dominators implementation. Patch from Florian ↵ | Owen Anderson | 2008-04-16 | 1 | -0/+4 | |
| | | | | | | Brandner! llvm-svn: 49768 | |||||
* | Don't assume a tail call can't reference a byval | Dale Johannesen | 2008-04-15 | 1 | -2/+4 | |
| | | | | | | argument to the outer function, this isn't correct. llvm-svn: 49731 | |||||
* | Teach AliasSetTracker about VAArgInst. | Dan Gohman | 2008-04-14 | 1 | -0/+17 | |
| | | | | llvm-svn: 49674 | |||||
* | In the special case, call the comparison function instead of | Dan Gohman | 2008-04-14 | 1 | -2/+2 | |
| | | | | | | | | manually performing the comparison. This allows the special case to work correctly even in the case where someone is experimenting with a different comparison function :-). llvm-svn: 49670 | |||||
* | add a new CallGraphNode::removeCallEdgeFor method, tidy some comments. | Chris Lattner | 2008-04-13 | 1 | -0/+14 | |
| | | | | llvm-svn: 49617 | |||||
* | Fix a typo in a comment. | Dan Gohman | 2008-04-10 | 1 | -1/+1 | |
| | | | | llvm-svn: 49504 | |||||
* | Fix for PR2190. Memdep's non-local caching was checking dirtied blocks in the | Owen Anderson | 2008-04-10 | 1 | -2/+4 | |
| | | | | | | wrong order. llvm-svn: 49499 | |||||
* | Fix PR 2169. | Daniel Berlin | 2008-04-07 | 1 | -0/+3 | |
| | | | | llvm-svn: 49339 | |||||
* | API changes for class Use size reduction, wave 1. | Gabor Greif | 2008-04-06 | 1 | -3/+3 | |
| | | | | | | | | Specifically, introduction of XXX::Create methods for Users that have a potentially variable number of Uses. llvm-svn: 49277 | |||||
* | Set blockBegin to point to the beginning of the block, | Dan Gohman | 2008-03-31 | 1 | -2/+2 | |
| | | | | | | not the end. llvm-svn: 48999 | |||||
* | Expose Function::viewCFG and Function::viewCFGOnly to bindings. | Erick Tryzelaar | 2008-03-31 | 1 | -0/+9 | |
| | | | | llvm-svn: 48982 | |||||
* | minor code cleanups, allow constant folding sinf/cosf. | Chris Lattner | 2008-03-30 | 1 | -20/+26 | |
| | | | | llvm-svn: 48961 | |||||
* | Don't include <map> in Pass.h, which doesn't need it. This requires | Dan Gohman | 2008-03-21 | 1 | -0/+1 | |
| | | | | | | adding <map> to many files that actually do need it. llvm-svn: 48667 | |||||
* | These passes preserve CFG. | Devang Patel | 2008-03-20 | 3 | -4/+4 | |
| | | | | | | This patch fixes Benchmarks/Trimaran/enc-pc1/enc-pc1 failure reported by Grawp-PIC i386 nightly tester llvm-svn: 48623 | |||||
* | enable -analyze for andersens | Andrew Lenharth | 2008-03-20 | 1 | -19/+39 | |
| | | | | llvm-svn: 48601 | |||||
* | Restore isCFGOnly property of various analysis passes. | Devang Patel | 2008-03-20 | 19 | -23/+23 | |
| | | | | llvm-svn: 48579 | |||||
* | PassInfo keep tracks whether a pass is an analysis pass or not. | Devang Patel | 2008-03-19 | 20 | -37/+39 | |
| | | | | llvm-svn: 48554 | |||||
* | Do not use virtual function to identify an analysis pass. | Devang Patel | 2008-03-19 | 10 | -53/+12 | |
| | | | | llvm-svn: 48520 | |||||
* | Fix PR 2160 by making sure arguments to external functions get marked as ↵ | Daniel Berlin | 2008-03-18 | 1 | -18/+36 | |
| | | | | | | pointing to anything llvm-svn: 48509 | |||||
* | Dial down gcc's warnings: don't use 0UL when 0U suffices (and when the | Scott Michel | 2008-03-18 | 1 | -4/+4 | |
| | | | | | | variables and methods themselves only use unsigned.) llvm-svn: 48492 | |||||
* | Identify Analysis pass. | Devang Patel | 2008-03-18 | 10 | -0/+41 | |
| | | | | | | | Do not run analysis pass again if analysis info is still available. This fixes PR1441. llvm-svn: 48476 | |||||
* | Add Hybrid Cycle Detection to Andersen's analysis. | Daniel Berlin | 2008-03-05 | 1 | -32/+272 | |
| | | | | | | Patch by Curtis Dunham. llvm-svn: 47959 | |||||
* | Fix http://llvm.org/bugs/show_bug.cgi?id=2104 by ordering lexicographically ↵ | Gabor Greif | 2008-02-28 | 1 | -5/+12 | |
| | | | | | | what gets printed. Be const-correct in PrintResults and uninline it too llvm-svn: 47712 | |||||
* | De-tabify. | Bill Wendling | 2008-02-26 | 1 | -8/+8 | |
| | | | | llvm-svn: 47598 | |||||
* | Temporarily reverting 46959. | Evan Cheng | 2008-02-25 | 1 | -2/+2 | |
| | | | | llvm-svn: 47542 | |||||
* | Change a C-style cast to const_cast, to avoid a -Wcast-qual warning. | Dan Gohman | 2008-02-21 | 1 | -1/+1 | |
| | | | | llvm-svn: 47437 | |||||
* | Simplify this code, no functionality change. | Nick Lewycky | 2008-02-21 | 1 | -5/+2 | |
| | | | | llvm-svn: 47434 | |||||
* | GlobalValues are Constants, remove redundant code. Also fix typo in a comment. | Nick Lewycky | 2008-02-21 | 1 | -3/+1 | |
| | | | | llvm-svn: 47433 | |||||
* | Unbreak build with gcc 4.3: provide missed includes and silence most ↵ | Anton Korobeynikov | 2008-02-20 | 4 | -4/+7 | |
| | | | | | | annoying warnings. llvm-svn: 47367 | |||||
* | Use getConstant for ConstantInts. | Nick Lewycky | 2008-02-20 | 1 | -2/+2 | |
| | | | | llvm-svn: 47361 | |||||
* | Add 'umax' similar to 'smax' SCEV. Closes PR2003. | Nick Lewycky | 2008-02-20 | 2 | -45/+156 | |
| | | | | | | | | | | | | | | | 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 | |||||
* | Fix a compiler warning. | Duncan Sands | 2008-02-19 | 1 | -1/+1 | |
| | | | | llvm-svn: 47328 | |||||
* | In addition to arguments passed to it, memcpy (and all other calls) can ↵ | Owen Anderson | 2008-02-19 | 1 | -1/+2 | |
| | | | | | | ModRef pointers that alias their arguments as well. This fixes PR2057. llvm-svn: 47317 | |||||
* | don't bother calling getUnderlyingObject for non-pointers. | Chris Lattner | 2008-02-18 | 1 | -1/+2 | |
| | | | | llvm-svn: 47272 | |||||
* | Since we're not checking for the more general AllocationInst first, we need ↵ | Owen Anderson | 2008-02-18 | 1 | -1/+1 | |
| | | | | | | | | to explicitly check that Object is an Argument before casting it to one. llvm-svn: 47268 | |||||
* | This check is not correct for mallocs, so exclude them earlier. | Owen Anderson | 2008-02-18 | 1 | -2/+2 | |
| | | | | llvm-svn: 47263 | |||||
* | Fix a comment, and a bug where we weren't applying the tail call logic in ↵ | Owen Anderson | 2008-02-18 | 1 | -6/+8 | |
| | | | | | | cases that failed the first test. llvm-svn: 47253 | |||||
* | Fix bugs that Chris noticed in my last patch. | Owen Anderson | 2008-02-18 | 1 | -9/+17 | |
| | | | | llvm-svn: 47252 | |||||
* | bitcasts of pointers are always pointers. | Chris Lattner | 2008-02-18 | 1 | -5/+2 | |
| | | | | | | | If we see a memcpy of a pointer, make sure to check later uses of the pointer as well. llvm-svn: 47250 | |||||
* | Teach getModRefInfo that memcpy, memmove, and memset don't "capture" memory ↵ | Owen Anderson | 2008-02-17 | 1 | -3/+13 | |
| | | | | | | | | | addresses. Also, noalias arguments are be considered "like" stack allocated ones for this purpose, because the only way they can be modref'ed is if they escape somewhere in the current function. llvm-svn: 47247 | |||||
* | Fix typo. Thanks to Duncan for noticing. | Wojciech Matyjewicz | 2008-02-13 | 1 | -1/+1 | |
| | | | | llvm-svn: 47062 | |||||
* | Add comments as per review feedback. | Wojciech Matyjewicz | 2008-02-13 | 1 | -5/+13 | |
| | | | | llvm-svn: 47061 | |||||
* | Re-apply the patch to improve the optimizations of memcpy's, with several | Owen Anderson | 2008-02-12 | 1 | -1/+41 | |
| | | | | | | bugs fixed. This now passes PPC bootstrap. llvm-svn: 47026 | |||||
* | Fix PR2002. Suppose n is the initial value for the induction | Wojciech Matyjewicz | 2008-02-12 | 1 | -6/+4 | |
| | | | | | | | | | | 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 Matyjewicz | 2008-02-11 | 1 | -2/+2 | |
| | | | | | | | | 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 Matyjewicz | 2008-02-11 | 1 | -49/+100 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | 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 | |||||
* | We should check that existing cast operation has the appropriate opcode ↵ | Wojciech Matyjewicz | 2008-02-09 | 1 | -19/+21 | |
| | | | | | | before we reuse it. llvm-svn: 46908 | |||||
* | Throttle the non-local dependence analysis for basic blocks with more than ↵ | Tanya Lattner | 2008-02-06 | 1 | -7/+20 | |
| | | | | | | 50 predecessors. Added command line option to play with this threshold. llvm-svn: 46790 |