summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp
Commit message (Collapse)AuthorAgeFilesLines
* API changes for class Use size reduction, wave 1.Gabor Greif2008-04-061-10/+10
| | | | | | | | Specifically, introduction of XXX::Create methods for Users that have a potentially variable number of Uses. llvm-svn: 49277
* 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
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Get rid of annoying spaces.David Greene2007-12-171-1/+1
| | | | llvm-svn: 45100
* Make LoopInfoBase more generic, in preparation for having MachineLoopInfo. ↵Owen Anderson2007-11-271-3/+3
| | | | | | This involves a small interface change. llvm-svn: 44348
* Do not walk invalid iterator.Devang Patel2007-10-091-2/+2
| | | | llvm-svn: 42812
* Fix bug in updating dominance frontier after loop Devang Patel2007-10-051-27/+117
| | | | | | | unswitch when frontier includes basic blocks that are not inside loop. llvm-svn: 42654
* Fix 80 col violation.Devang Patel2007-10-031-3/+3
| | | | llvm-svn: 42591
* Refactor code in a separate method.Devang Patel2007-10-031-33/+46
| | | | llvm-svn: 42590
* Update aux. info associated with an instruction before erasing instruction.Devang Patel2007-09-201-12/+12
| | | | llvm-svn: 42180
* Use SmallVector instead of std::vector.Devang Patel2007-08-211-1/+1
| | | | llvm-svn: 41207
* Fix GLIBCXX_DEBUG error triggered by incrementing erased iterator.David Greene2007-08-071-4/+4
| | | | llvm-svn: 40897
* wrap some long lines. Major offenders that are left includeChris Lattner2007-08-021-2/+4
| | | | | | | | gvn, gvnpre, dse, and predsimplify. To see these, use: make check-line-length llvm-svn: 40738
* Update dominator info for the middle blocks created while splitingDevang Patel2007-08-021-21/+77
| | | | | | | | exit edge to preserve LCSSA. Fix dominance frontier update during loop unswitch. This fixes PR 1589, again llvm-svn: 40737
* Undo previous check-in.Devang Patel2007-08-011-76/+21
| | | | llvm-svn: 40698
* Update dominator info for the middle blocks created while splitingDevang Patel2007-08-011-21/+76
| | | | | | | | exit edge to preserve LCSSA. Fix dominance frontier update during loop unswitch. This fixes PR 1589. llvm-svn: 40695
* More explicit keywords.Dan Gohman2007-08-011-1/+1
| | | | llvm-svn: 40673
* Loop unswitch preserves dom info.Devang Patel2007-07-311-18/+33
| | | | | | Use simple analysis interface to preserve analysis info maintained by other loop passes. llvm-svn: 40627
* If loop can be unswitched again, then do it yourself.Devang Patel2007-07-301-5/+19
| | | | llvm-svn: 40609
* Remove dead code.Devang Patel2007-07-301-19/+13
| | | | llvm-svn: 40606
* VStudio compiler errors and placing Function*->ExFunc map under ↵Chuck Rose III2007-07-271-3/+3
| | | | | | | | | | | | | ManagedStatic control. This commit fixes two things. One is a pair of VStudio compiler errors stemming from variables which defined within the for loop statement and also within the body of the for loop. I fixed these by renaming one of the two variables. Additionally, I've made the Function*->ExFunc map in ExternalFunctions.cpp a ManagedStatic object, so that cleanup will be done on llvm_shutdown. In repeated uses of the interpreter, where the same Function* address may get used for completely differnet functions, this was causing a crash. llvm-svn: 40558
* Fix typo.Devang Patel2007-07-181-2/+2
| | | | llvm-svn: 40025
* Fix dominator info update to accommodate CFG changes.Devang Patel2007-07-181-17/+65
| | | | | | This fixes PR1559. llvm-svn: 40024
* Disable claims to preserve analysis until open issues are resolved.Devang Patel2007-07-131-3/+0
| | | | llvm-svn: 39834
* These rountines are now available as part of basic block utilities.Devang Patel2007-07-061-66/+5
| | | | llvm-svn: 37955
* Preserve DominanceFrontier.Devang Patel2007-06-291-5/+29
| | | | llvm-svn: 37820
* Do not filter loop if candidate branch is in loop header.Devang Patel2007-06-291-2/+0
| | | | llvm-svn: 37792
* - Undo previous check and allow loop switch for condtion that is not insideDevang Patel2007-06-281-8/+7
| | | | | | | | loop. - Avoid loop unswich for loop header branch. - While cloning dominators fix typo and handle self dominating blocks. llvm-svn: 37772
* Update LoopUnswitch pass to preserve DomiantorTree.Devang Patel2007-06-281-32/+55
| | | | llvm-svn: 37771
* If a condition is not inside a loop then the condition is suitableDevang Patel2007-06-281-0/+7
| | | | | | to loop unswitch candidate for the loop. llvm-svn: 37770
* Avoid non-trivial loop unswitching while optimizing for size.Devang Patel2007-06-061-3/+12
| | | | llvm-svn: 37446
* Fix PR1333Devang Patel2007-05-091-5/+25
| | | | | | | | Testcases : http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070507/049451.html http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20070507/049452.html llvm-svn: 36955
* 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
* Now LoopUnswitch is a LoopPass.Devang Patel2007-03-071-86/+17
| | | | llvm-svn: 34992
* Use more efficient test for one value in a ConstantInt.Reid Spencer2007-03-021-2/+2
| | | | llvm-svn: 34859
* Use efficient container SmallPtrSetDevang Patel2007-02-261-3/+4
| | | | llvm-svn: 34640
* Do not unswitch loop on same value again and again.Devang Patel2007-02-261-0/+7
| | | | llvm-svn: 34638
* Apply the VISIBILITY_HIDDEN field to the remaining anonymous classes inReid Spencer2007-02-051-2/+3
| | | | | | | 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-5/+5
| | | | | | 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
* For PR1043:Reid Spencer2007-01-191-1/+2
| | | | | | | | | | | | | | This is the final patch for this PR. It implements some minor cleanup in the use of IntegerType, to wit: 1. Type::getIntegerTypeMask -> IntegerType::getBitMask 2. Type::Int*Ty changed to IntegerType* from Type* 3. ConstantInt::getType() returns IntegerType* now, not Type* This also fixes PR1120. Patch by Sheng Zhou. llvm-svn: 33370
* fix a bug in a recent patchChris Lattner2007-01-131-1/+1
| | | | llvm-svn: 33164
* Implement review feedback for the ConstantBool->ConstantInt merge. ChrisReid Spencer2007-01-121-6/+7
| | | | | | | | recommended that getBoolValue be replaced with getZExtValue and that get(bool) be replaced by get(const Type*, uint64_t). This implements those changes. llvm-svn: 33110
* Rename BoolTy as Int1Ty. Patch by Sheng Zhou.Reid Spencer2007-01-111-6/+6
| | | | llvm-svn: 33076
* For PR1043:Zhou Sheng2007-01-111-30/+34
| | | | | | | Merge ConstantIntegral and ConstantBool into ConstantInt. Remove ConstantIntegral and ConstantBool from LLVM. llvm-svn: 33073
* For PR950:Reid Spencer2006-12-231-4/+3
| | | | | | | | This patch removes the SetCC instructions and replaces them with the ICmp and FCmp instructions. The SetCondInst instruction has been removed and been replaced with ICmpInst and FCmpInst. llvm-svn: 32751
* Switch over Transforms/Scalar to use the STATISTIC macro. For each statisticChris Lattner2006-12-191-7/+6
| | | | | | | 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-5/+5
| | | | | | is 'unsigned'. llvm-svn: 32279
OpenPOWER on IntegriCloud