summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/LoopUnroll.cpp
Commit message (Collapse)AuthorAgeFilesLines
* More migration to raw_ostream, the water has dried up around the iostream hole.Daniel Dunbar2009-07-251-2/+3
| | | | | | | | | | - Some clients which used DOUT have moved to DEBUG. We are deprecating the "magic" DOUT behavior which avoided calling printing functions when the statement was disabled. In addition to being unnecessary magic, it had the downside of leaving code in -Asserts builds, and of hiding potentially unnecessary computations. llvm-svn: 77019
* Adjust loop size estimate for full unrolling;Dale Johannesen2009-04-201-0/+2
| | | | | | GEP's don't usually become instructions. llvm-svn: 69631
* Rename getAnalysisToUpdate to getAnalysisIfAvailable.Duncan Sands2009-01-281-2/+2
| | | | llvm-svn: 63198
* Change create*Pass factory functions to return Pass* instead ofDaniel Dunbar2008-10-221-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
* Tidy up several unbeseeming casts from pointer to intptr_t.Dan Gohman2008-09-041-1/+1
| | | | llvm-svn: 55779
* Add -unroll-allow-partial command line option that enabled the loop unroller toMatthijs Kooijman2008-07-291-4/+26
| | | | | | | | partially unroll a loop when fully unrolling would not fit under the threshold. Patch by Mikael Lepistö. llvm-svn: 54160
* Preserve dom info.Devang Patel2008-07-031-0/+15
| | | | llvm-svn: 53089
* Use Loop::block_iterator.Dan Gohman2008-06-221-2/+3
| | | | llvm-svn: 52616
* Bill pointed out that system headers should beDuncan Sands2008-05-161-1/+1
| | | | | | included after local headers. llvm-svn: 51187
* Use of UINT_MAX requires climits, at least whenDuncan Sands2008-05-151-0/+1
| | | | | | compiling with gcc 4.3. llvm-svn: 51145
* Split the loop unroll mechanism logic out into a utility function.Dan Gohman2008-05-141-379/+14
| | | | | | Patch by Matthijs Kooijman! llvm-svn: 51083
* Clean up the use of static and anonymous namespaces. This turned upDan Gohman2008-05-131-11/+10
| | | | | | | several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
* Make several variable declarations static.Dan Gohman2008-05-061-2/+2
| | | | llvm-svn: 50696
* Remove 'unwinds to' support from mainline. This patch undoes r47802 r47989Nick Lewycky2008-04-251-7/+3
| | | | | | r48047 r48084 r48085 r48086 r48088 r48096 r48099 r48109 and r48123. llvm-svn: 50265
* Revert r49614. As Dan pointed out, some of these aren't correct.Owen Anderson2008-04-141-2/+2
| | | | llvm-svn: 49657
* Replace calls of the form V1->setName(V2->getName()) with V1->takeName(V2), Owen Anderson2008-04-131-2/+2
| | | | | | which is significantly more efficient. llvm-svn: 49614
* Add comment.Devang Patel2008-03-191-0/+4
| | | | llvm-svn: 48567
* Update heuritics that estimates cost of call instructions.Devang Patel2008-03-171-0/+5
| | | | llvm-svn: 48474
* Update the block cloner which fixes bugpoint on code using unwind_to (phew!)Nick Lewycky2008-03-091-3/+7
| | | | | | and also update the cloning interface's major user, the loop optimizations. llvm-svn: 48088
* Unbreak build with gcc 4.3: provide missed includes and silence most ↵Anton Korobeynikov2008-02-201-1/+2
| | | | | | annoying warnings. llvm-svn: 47367
* Be more careful modifying the use_list while also iterating through it.Nick Lewycky2008-01-271-1/+2
| | | | llvm-svn: 46417
* fix typoWojciech Matyjewicz2008-01-041-1/+1
| | | | llvm-svn: 45594
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Make LoopInfoBase more generic, in preparation for having MachineLoopInfo. ↵Owen Anderson2007-11-271-1/+1
| | | | | | This involves a small interface change. llvm-svn: 44348
* If a value is incoming from outside the loop then the value does not need ↵Devang Patel2007-11-051-3/+0
| | | | | | remapping and the value is never tracked through LastValueMap. llvm-svn: 43728
* wrap some long lines. Major offenders that are left includeChris Lattner2007-08-021-1/+1
| | | | | | | | gvn, gvnpre, dse, and predsimplify. To see these, use: make check-line-length llvm-svn: 40738
* Correct a few comments.Dan Gohman2007-05-141-5/+5
| | | | llvm-svn: 37034
* This patch extends the LoopUnroll pass to be able to unroll loopsDan Gohman2007-05-111-58/+193
| | | | | | | | | | | | | | | | | with unknown trip counts. This is left off by default, and a command-line option enables it. It also begins to separate loop unrolling into a utility routine; eventually it might be made usable from other passes. It currently works by inserting conditional branches between each unrolled iteration, unless it proves that the trip count is a multiple of a constant integer > 1, which it currently only does in the rare case that the trip count expression is a Mul operator with a ConstantInt operand. Eventually this information might be provided by other sources, for example by a pass that peels/splits the loop for this purpose. llvm-svn: 36990
* Fix various whitespace inconsistencies.Dan Gohman2007-05-081-10/+10
| | | | llvm-svn: 36936
* Correct the comment for ApproximateLoopSize to reflect what it actually does.Dan Gohman2007-05-081-2/+1
| | | | llvm-svn: 36935
* Fix Transforms/LoopUnroll/2007-05-05-UnrollMiscomp.ll and PR1385.Chris Lattner2007-05-051-18/+17
| | | | | | | | If we have a LCSSA, only modify the input value if the inval was defined by an instruction in the loop. If defined by something before the loop, it is still valid. llvm-svn: 36784
* make a temporary for *SI, no functionality change.Chris Lattner2007-05-051-6/+7
| | | | llvm-svn: 36782
* Drop 'const'Devang Patel2007-05-031-2/+2
| | | | llvm-svn: 36662
* Use 'static const char' instead of 'static const int'.Devang Patel2007-05-021-2/+2
| | | | | | | Due to darwin gcc bug, one version of darwin linker coalesces static const int, which defauts PassID based pass identification. llvm-svn: 36652
* Do not use typeinfo to identify pass in pass manager.Devang Patel2007-05-011-0/+4
| | | | llvm-svn: 36632
* FixDevang Patel2007-04-161-0/+6
| | | | | | http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070416/047888.html llvm-svn: 36182
* Now LoopUnroll is a LoopPass.Devang Patel2007-03-071-36/+7
| | | | llvm-svn: 34996
* Guard against huge loop trip counts in an APInt safe way.Reid Spencer2007-03-021-2/+7
| | | | llvm-svn: 34858
* Apply the VISIBILITY_HIDDEN field to the remaining anonymous classes inReid Spencer2007-02-051-1/+2
| | | | | | | the Transforms library. This reduces debug library size by 132 KB, debug binary size by 376 KB, and reduces link time for llvm tools slightly. llvm-svn: 33939
* Switch inliner over to use DenseMap instead of std::map for ValueMap. ThisChris Lattner2007-02-031-8/+8
| | | | | | speeds up the inliner 16%. llvm-svn: 33801
* Adjust #includes to match movement of constant folding code from ↵Chris Lattner2007-01-301-0/+1
| | | | | | transformutils to libanalysis. llvm-svn: 33680
* Switch over Transforms/Scalar to use the STATISTIC macro. For each statisticChris Lattner2006-12-191-2/+2
| | | | | | | converted, we lose a static initializer. This also allows GCC to emit warnings about unused statistics. llvm-svn: 32690
* Detemplatize the Statistic class. The only type it is instantiated withChris Lattner2006-12-061-1/+1
| | | | | | is 'unsigned'. llvm-svn: 32279
* 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
OpenPOWER on IntegriCloud