summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/LoopUnroll.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Removed #include <iostream> and replaced with llvm_* streams.Bill Wendling2006-11-261-7/+6
| | | | llvm-svn: 31923
* For PR786:Reid Spencer2006-11-021-2/+1
| | | | | | | | | | Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting fall out by removing unused variables. Remaining warnings have to do with unused functions (I didn't want to delete code without review) and unused variables in generated code. Maintainers should clean up the remaining issues when they see them. All changes pass DejaGnu tests and Olden. llvm-svn: 31380
* For PR950:Reid Spencer2006-10-201-2/+2
| | | | | | | | This patch implements the first increment for the Signless Types feature. All changes pertain to removing the ConstantSInt and ConstantUInt classes in favor of just using ConstantInt. llvm-svn: 31063
* Clean up a bit.Owen Anderson2006-08-291-51/+32
| | | | llvm-svn: 29950
* Make LoopUnroll fold excessive BasicBlocks. This results in a significant ↵Owen Anderson2006-08-281-9/+89
| | | | | | | | speedup of gccas on 252.eon llvm-svn: 29936
* eliminate RegisterOpt. It does the same thing as RegisterPass.Chris Lattner2006-08-271-1/+1
| | | | llvm-svn: 29925
* Fix a crash related to updating Phi nodes in the original header block. ↵Owen Anderson2006-08-251-1/+2
| | | | | | | | This was causing a crash in 175.vpr llvm-svn: 29887
* Implement unrolling of multiblock loops. This significantly improves theOwen Anderson2006-08-241-127/+125
| | | | | | | | utility of the LoopUnroll pass. Also, add a testcase for multiblock-loop unrolling. llvm-svn: 29859
* Minor comment tweaksChris Lattner2006-07-201-6/+5
| | | | llvm-svn: 29226
* Add an assertion.Owen Anderson2006-07-191-0/+2
| | | | llvm-svn: 29199
* Make LoopUnroll not die on LCSSA Phis. This makes lencod work again.Owen Anderson2006-07-191-0/+6
| | | | llvm-svn: 29198
* Fix a spello in a comment.Reid Spencer2006-06-071-1/+1
| | | | llvm-svn: 28714
* Make iostream #inclusion explicitChris Lattner2006-01-221-1/+1
| | | | llvm-svn: 25514
* Eliminate tabs and trailing spacesJeff Cohen2005-04-231-1/+1
| | | | llvm-svn: 21480
* Remove trailing whitespaceMisha Brukman2005-04-211-8/+8
| | | | llvm-svn: 21427
* Fix a bug where we could corrupt a parent loop's header info if we unrolledChris Lattner2005-03-061-6/+17
| | | | | | | a nested loop. This fixes Transforms/LoopUnroll/2005-03-06-BadLoopInfoUpdate.ll and PR532 llvm-svn: 20493
* Silence VS warnings.Chris Lattner2005-01-081-5/+7
| | | | llvm-svn: 19380
* Do not consider debug intrinsics in the size computations for loop unrolling.Chris Lattner2004-11-221-0/+3
| | | | | | Patch contributed by Michael McCracken! llvm-svn: 18108
* Correction to allow compilation with Visual C++.Reid Spencer2004-10-181-0/+2
| | | | | | Patch contributed by Morten Ofstad. Thanks Morten! llvm-svn: 17123
* Convert code to compile with vc7.1.Reid Spencer2004-09-151-2/+2
| | | | | | Patch contributed by Paolo Invernizzi. Thanks Paolo! llvm-svn: 16368
* Changes For Bug 352Reid Spencer2004-09-011-4/+4
| | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
* Fix a nasty bug that caused us to unroll EXTREMELY large loops due to overflowChris Lattner2004-05-131-3/+3
| | | | | | | | | | | | | | | | | | | | in the size calculation. This is not something you want to see: Loop Unroll: F[main] Loop %no_exit Loop Size = 2 Trip Count = 2147483648 - UNROLLING! The problem was that 2*2147483648 == 0. Now we get: Loop Unroll: F[main] Loop %no_exit Loop Size = 2 Trip Count = 2147483648 - TOO LARGE: 4294967296>100 Thanks to some anonymous person playing with the demo page that repeatedly caused zion to go into swapping land. That's one way to ensure you'll get a quick bugfix. :) Testcase here: Transforms/LoopUnroll/2004-05-13-DontUnrollTooMuch.ll llvm-svn: 13564
* Fix PR325Chris Lattner2004-04-201-1/+1
| | | | llvm-svn: 13081
* Add #includeChris Lattner2004-04-191-0/+1
| | | | llvm-svn: 13057
* Change the ExitBlocks list from being explicitly contained in the LoopChris Lattner2004-04-181-22/+1
| | | | | | | structure to being dynamically computed on demand. This makes updating loop information MUCH easier. llvm-svn: 13045
* Reduce the unrolling limitChris Lattner2004-04-181-1/+1
| | | | llvm-svn: 13040
* If the preheader of the loop was the entry block of the function, make sureChris Lattner2004-04-181-2/+7
| | | | | | | | that the exit block of the loop becomes the new entry block of the function. This was causing a verifier assertion on 252.eon. llvm-svn: 13039
* Be much more careful about how we update instructions outside of the loopChris Lattner2004-04-181-9/+15
| | | | | | | using instructions inside of the loop. This should fix the MishaTest failure from last night. llvm-svn: 13038
* After unrolling our single basic block loop, fold it into the preheader and exitChris Lattner2004-04-181-2/+43
| | | | | | | | | | | | | block. The primary motivation for doing this is that we can now unroll nested loops. This makes a pretty big difference in some cases. For example, in 183.equake, we are now beating the native compiler with the CBE, and we are a lot closer with LLC. I'm now going to play around a bit with the unroll factor and see what effect it really has. llvm-svn: 13034
* Fix a bug: this does not preserve the CFG!Chris Lattner2004-04-181-4/+20
| | | | | | While we're at it, add support for updating loop information correctly. llvm-svn: 13033
* Initial checkin of a simple loop unroller. This pass is extremely basic andChris Lattner2004-04-181-0/+247
limited. Even in it's extremely simple state (it can only *fully* unroll single basic block loops that execute a constant number of times), it already helps improve performance a LOT on some benchmarks, particularly with the native code generators. llvm-svn: 13028
OpenPOWER on IntegriCloud