| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | 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 | ||||
| * | Use simpler test to filter loops. | Devang Patel | 2007-08-27 | 1 | -14/+3 |
| | | | | | llvm-svn: 41516 | ||||
| * | Move exit condition and exit branch from exiting block into loop header and ↵ | Devang Patel | 2007-08-25 | 1 | -0/+155 |
| | | | | | | | dominator info. This avoid execution of dead iteration. Loop is already filter in the beginning such that this change is safe. llvm-svn: 41394 | ||||
| * | Constant split values needs upper bound and lower bound check, just like any ↵ | Devang Patel | 2007-08-25 | 1 | -6/+0 |
| | | | | | | | other split value. llvm-svn: 41389 | ||||
| * | While calculating upper loop bound for first loop and lower loop bound for ↵ | Devang Patel | 2007-08-25 | 1 | -36/+231 |
| | | | | | | | second loop, take care of edge cases. llvm-svn: 41387 | ||||
| * | Fix regression that I caused yesterday night while adding logic to select ↵ | Devang Patel | 2007-08-24 | 1 | -2/+2 |
| | | | | | | | appropriate split condition branch. llvm-svn: 41365 | ||||
| * | It is not safe to execute split condition's true branch first all the time. ↵ | Devang Patel | 2007-08-24 | 1 | -5/+35 |
| | | | | | | | | | If split condition predicate is GT or GE then execute false branch first. llvm-svn: 41358 | ||||
| * | Reject ICMP_NE as index split condition. | Devang Patel | 2007-08-24 | 1 | -0/+3 |
| | | | | | llvm-svn: 41357 | ||||
| * | Tightenup loop filter. | Devang Patel | 2007-08-24 | 1 | -2/+22 |
| | | | | | llvm-svn: 41356 | ||||
| * | Remove incomplete cost analysis. | Devang Patel | 2007-08-24 | 1 | -40/+3 |
| | | | | | llvm-svn: 41354 | ||||
| * | Remove dead code. | Devang Patel | 2007-08-22 | 1 | -5/+0 |
| | | | | | llvm-svn: 41295 | ||||
| * | Fix typo. | Devang Patel | 2007-08-22 | 1 | -1/+1 |
| | | | | | llvm-svn: 41292 | ||||
| * | Cosmetic change | Devang Patel | 2007-08-22 | 1 | -84/+102 |
| | | | | | | | | "True Loop" and "False Loop" naming terminology to refer two loops after loop cloning is confusing. Instead just use A_Loop and B_Loop. llvm-svn: 41287 | ||||
| * | Refactor loop condition check in a separate function. | Devang Patel | 2007-08-22 | 1 | -17/+34 |
| | | | | | llvm-svn: 41282 | ||||
| * | Fix thinko. | Devang Patel | 2007-08-22 | 1 | -3/+3 |
| | | | | | | | | Starting value of second loop's induction variable can not be lower then starting value of original loop's induction variable. llvm-svn: 41280 | ||||
| * | Rename bunch of variables. | Devang Patel | 2007-08-21 | 1 | -72/+79 |
| | | | | | llvm-svn: 41250 | ||||
| * | Preserve LCSSA. | Devang Patel | 2007-08-21 | 1 | -1/+15 |
| | | | | | llvm-svn: 41246 | ||||
| * | s/ExitBlock/ExitingBlock/g | Devang Patel | 2007-08-20 | 1 | -26/+27 |
| | | | | | llvm-svn: 41204 | ||||
| * | Replace indunction variable with split value in loop body. | Devang Patel | 2007-08-20 | 1 | -1/+5 |
| | | | | | | | This fixes art miscompile. llvm-svn: 41195 | ||||
| * | Do not split loops rejected by processOneIterationLoop(). | Devang Patel | 2007-08-20 | 1 | -5/+11 |
| | | | | | llvm-svn: 41194 | ||||
| * | Avoid spliting loops where two split condition branches are not independent. | Devang Patel | 2007-08-18 | 1 | -1/+11 |
| | | | | | llvm-svn: 41148 | ||||
| * | When one branch of condition is eliminated then head of the other | Devang Patel | 2007-08-17 | 1 | -21/+42 |
| | | | | | | | branch is not necessary immediate dominators of merge blcok in all cases. llvm-svn: 41144 | ||||
| * | Dominance frontier is now required. | Devang Patel | 2007-08-15 | 1 | -1/+1 |
| | | | | | llvm-svn: 41096 | ||||
| * | Cleanup removeBlocks. | Devang Patel | 2007-08-15 | 1 | -56/+70 |
| | | | | | | | | Use dominance frontier to fixup incoming edges of successor blocks not domianted by DeadBB. Use df_iterator to walk and delete basic blocks dominated by DeadBB. llvm-svn: 41095 | ||||

