Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Ignore DbgInfoIntrinsics. | Devang Patel | 2009-02-06 | 1 | -1/+3 |
| | | | | llvm-svn: 63923 | ||||
* | Fix spelling. | Devang Patel | 2008-12-08 | 1 | -10/+10 |
| | | | | | | Thanks Duncan! llvm-svn: 60702 | ||||
* | Rewrite code that 1) filters loops and 2) calculates new loop bounds. | Devang Patel | 2008-12-04 | 1 | -1269/+715 |
| | | | | | | | | This fixes many bugs. I will add more test cases in a separate check-in. Some day, the code that manipulates CFG and updates dom. info could use refactoring help. llvm-svn: 60554 | ||||
* | If the sign of exit condition and split condition does not match | Devang Patel | 2008-11-10 | 1 | -1/+6 |
| | | | | | | then do not split loop index. llvm-svn: 58995 | ||||
* | Change create*Pass factory functions to return Pass* instead of | Daniel Dunbar | 2008-10-22 | 1 | -1/+1 |
| | | | | | | | | | | | LoopPass*. - Although less precise, this means they can be used in clients without RTTI (who would otherwise need to include LoopPass.h, which eventually includes things using dynamic_cast). This was the simplest solution that presented itself, but I am happy to use a better one if available. llvm-svn: 58010 | ||||
* | Check loop exit predicate properly while eliminating one iteration loop. | Devang Patel | 2008-10-10 | 1 | -13/+15 |
| | | | | | | This patch fixes PR 2869 llvm-svn: 57369 | ||||
* | Fix typo, fix PR 2865. | Devang Patel | 2008-10-06 | 1 | -2/+2 |
| | | | | llvm-svn: 57221 | ||||
* | splitLoop does not handle split condition EQ. | Devang Patel | 2008-09-18 | 1 | -0/+6 |
| | | | | | | Fixes PR 2805 llvm-svn: 56321 | ||||
* | Do not ignore iv uses outside the loop. | Devang Patel | 2008-09-17 | 1 | -1/+21 |
| | | | | | | This one slipped through cracks very well. llvm-svn: 56284 | ||||
* | Tidy up several unbeseeming casts from pointer to intptr_t. | Dan Gohman | 2008-09-04 | 1 | -1/+1 |
| | | | | llvm-svn: 55779 | ||||
* | Use empty() instead of begin() == end(). | Dan Gohman | 2008-08-14 | 1 | -2/+2 |
| | | | | llvm-svn: 54780 | ||||
* | If loop induction variable's start value is less then its exit value then do ↵ | Devang Patel | 2008-07-09 | 1 | -0/+13 |
| | | | | | | not split the loop. llvm-svn: 53265 | ||||
* | Fix a typo in a comment. | Dan Gohman | 2008-06-24 | 1 | -1/+1 |
| | | | | llvm-svn: 52687 | ||||
* | Do not erase induction variable increment if it is used outside the loop. | Devang Patel | 2008-05-19 | 1 | -4/+20 |
| | | | | llvm-svn: 51280 | ||||
* | API change for {BinaryOperator|CmpInst|CastInst}::create*() --> Create. ↵ | Gabor Greif | 2008-05-16 | 1 | -10/+10 |
| | | | | | | Legacy interfaces will be in place for some time. (Merge from use-diet branch.) llvm-svn: 51200 | ||||
* | Clean up the use of static and anonymous namespaces. This turned up | Dan Gohman | 2008-05-13 | 1 | -3/+4 |
| | | | | | | | several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017 | ||||
* | Porting r50563 from Tak to mainline. | Bill Wendling | 2008-05-02 | 1 | -0/+5 |
| | | | | llvm-svn: 50564 | ||||
* | API changes for class Use size reduction, wave 1. | Gabor Greif | 2008-04-06 | 1 | -13/+13 |
| | | | | | | | | Specifically, introduction of XXX::Create methods for Users that have a potentially variable number of Uses. llvm-svn: 49277 | ||||
* | Iterators folloring a SmallVector erased element are invalidated so | David Greene | 2008-04-02 | 1 | -6/+4 |
| | | | | | | | | don't access cached iterators from after the erased element. Re-apply 49056 with SmallVector support. llvm-svn: 49106 | ||||
* | Reverting 49056 due to the build being broken. | Tanya Lattner | 2008-04-01 | 1 | -4/+6 |
| | | | | llvm-svn: 49060 | ||||
* | Iterators folloring a SmallVector erased element are invalidated so | David Greene | 2008-04-01 | 1 | -6/+4 |
| | | | | | | don't access cached iterators from after the erased element. llvm-svn: 49056 | ||||
* | PHI->removeIncomingValue may remove PHInode. | Devang Patel | 2008-03-27 | 1 | -1/+2 |
| | | | | | | Increment iterator in advance. llvm-svn: 48890 | ||||
* | Add incoming value from header only if phi node has any use inside the loop. | Devang Patel | 2008-03-24 | 1 | -2/+3 |
| | | | | llvm-svn: 48738 | ||||
* | If loop header is also loop exiting block then OrigPN is incoming value for ↵ | Devang Patel | 2008-02-14 | 1 | -1/+7 |
| | | | | | | | | B loop header. Fixes PR 2030. llvm-svn: 47141 | ||||
* | A loop latch phi node may have uses inside loop, not just in loop header. | Devang Patel | 2008-02-13 | 1 | -4/+5 |
| | | | | llvm-svn: 47093 | ||||
* | While moving exit condition, do not drop loop latch on the floor. | Devang Patel | 2008-02-13 | 1 | -4/+9 |
| | | | | llvm-svn: 47089 | ||||
* | Keep track of exit value operand number when operands are swapped. | Devang Patel | 2008-02-13 | 1 | -1/+6 |
| | | | | llvm-svn: 47082 | ||||
* | Fix PR 1995. | Devang Patel | 2008-02-08 | 1 | -21/+17 |
| | | | | llvm-svn: 46898 | ||||
* | Filter loops that subtract induction variables. | Devang Patel | 2008-01-29 | 1 | -17/+17 |
| | | | | | | | | These loops are not yet handled. Fix PR 1912. llvm-svn: 46484 | ||||
* | Remove attribution from file headers, per discussion on llvmdev. | Chris Lattner | 2007-12-29 | 1 | -2/+2 |
| | | | | llvm-svn: 45418 | ||||
* | If ExitValue operand is also defined in Loop header then | Devang Patel | 2007-12-03 | 1 | -0/+17 |
| | | | | | | | | insert new ExitValue after this operand definition. This fixes PR1828. llvm-svn: 44539 | ||||
* | Handle multiple induction variables. | Devang Patel | 2007-09-25 | 1 | -7/+14 |
| | | | | | | This fixes PR714. llvm-svn: 42309 | ||||
* | doh.. | Devang Patel | 2007-09-25 | 1 | -1/+1 |
| | | | | llvm-svn: 42300 | ||||
* | Add transformation to update loop interation space. Now, | Devang Patel | 2007-09-25 | 1 | -7/+148 |
| | | | | | | | | | | | | | | | for (i=A; i<N; i++) { if (i < X && i > Y) do_something(); } is transformed into U=min(N,X); L=max(A,Y); for (i=L;i<U;i++) do_somethihg(); llvm-svn: 42299 | ||||
* | Fix PR1692 | Devang Patel | 2007-09-21 | 1 | -3/+5 |
| | | | | llvm-svn: 42209 | ||||
* | Don't increment invalid iterator. | Devang Patel | 2007-09-20 | 1 | -1/+2 |
| | | | | llvm-svn: 42178 | ||||
* | Relax loop ExitCondition predicate restriction. | Devang Patel | 2007-09-19 | 1 | -5/+7 |
| | | | | llvm-svn: 42122 | ||||
* | Filter loops where split condition's false branch is not empty. For example | Devang Patel | 2007-09-19 | 1 | -0/+4 |
| | | | | | | | | | | | for (int i = 0; i < N; ++i) { if (i == somevalue) dosomething(); else dosomethingelse(); } llvm-svn: 42121 | ||||
* | Bail out early, before modifying anything. | Devang Patel | 2007-09-19 | 1 | -4/+5 |
| | | | | llvm-svn: 42120 | ||||
* | Work is incomplete. Loop is not modified at all right now. | Devang Patel | 2007-09-19 | 1 | -1/+1 |
| | | | | llvm-svn: 42119 | ||||
* | Do not eliminate loop when it is invalid to do so. For example, | Devang Patel | 2007-09-17 | 1 | -14/+35 |
| | | | | | | | | | | | | | | for(int i = 0; i < N; i++) { if ( i == XYZ) { A; else B; } C; D; } llvm-svn: 42058 | ||||
* | Skeleton for transformations to truncate loop's iteration space. | Devang Patel | 2007-09-17 | 1 | -2/+198 |
| | | | | llvm-svn: 42054 | ||||
* | Temporary reverting r41817 | Bill Wendling | 2007-09-14 | 1 | -15/+5 |
| | | | | | | | (http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070910/053370.html). It's causing SPASS to fail. llvm-svn: 41938 | ||||
* | Avoid negative logic. | Devang Patel | 2007-09-11 | 1 | -4/+4 |
| | | | | llvm-svn: 41829 | ||||
* | Refactor code into a separate method. | Devang Patel | 2007-09-11 | 1 | -28/+47 |
| | | | | llvm-svn: 41826 | ||||
* | Clear split info object. | Devang Patel | 2007-09-11 | 1 | -0/+1 |
| | | | | llvm-svn: 41823 | ||||
* | Split condition does not have to be ICmpInst in all cases. | Devang Patel | 2007-09-11 | 1 | -5/+8 |
| | | | | llvm-svn: 41822 | ||||
* | Check all terminators inside loop. | Devang Patel | 2007-09-10 | 1 | -4/+3 |
| | | | | llvm-svn: 41821 | ||||
* | Swap exit condition operands if it works. | Devang Patel | 2007-09-10 | 1 | -5/+15 |
| | | | | llvm-svn: 41817 | ||||
* | Filter exit conditions which are not yet handled. | Devang Patel | 2007-09-10 | 1 | -1/+3 |
| | | | | llvm-svn: 41800 |