summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Scalar/CondPropagate.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Avoid making the transformation enabled by my last patch if the new ↵Evan Cheng2009-04-151-3/+13
| | | | | | destinations have phi nodes. llvm-svn: 69121
* Optimize conditional branch on i1 phis with non-constant inputs.Evan Cheng2009-04-141-14/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This turns: eq: %3 = icmp eq i32 %1, %2 br label %join ne: %4 = icmp ne i32 %1, %2 br label %join join: %5 = phi i1 [%3, %eq], [%4, %ne] br i1 %5, label %yes, label %no => eq: %3 = icmp eq i32 %1, %2 br i1 %3, label %yes, label %no ne: %4 = icmp ne i32 %1, %2 br i1 %4, label %yes, label %no llvm-svn: 69102
* Add comment to emphasize that the while body is empty.Bill Wendling2009-03-051-2/+2
| | | | llvm-svn: 66115
* Insert space to avoid warning and make code more readable.Mike Stump2009-02-071-2/+2
| | | | llvm-svn: 64003
* Ignore dbg intrinsics while propagating conditional expression info. Take 2.Devang Patel2009-02-051-6/+17
| | | | llvm-svn: 63898
* Revert rev. 63876. It is causing llvm-gcc bootstrap failure.Devang Patel2009-02-051-2/+2
| | | | llvm-svn: 63888
* Remove dead blocks in the end.Devang Patel2009-02-051-3/+14
| | | | llvm-svn: 63880
* Ignore dbg intrinsics while propagating conditional expression info.Devang Patel2009-02-051-2/+2
| | | | llvm-svn: 63876
* Handle single-entry phi nodes gracefully in condprop.Chris Lattner2009-01-261-0/+8
| | | | llvm-svn: 62985
* Factor some code into a new FoldSingleEntryPHINodes method.Chris Lattner2008-12-031-13/+6
| | | | llvm-svn: 60501
* Tidy up several unbeseeming casts from pointer to intptr_t.Dan Gohman2008-09-041-1/+1
| | | | llvm-svn: 55779
* Clean up the use of static and anonymous namespaces. This turned upDan Gohman2008-05-131-3/+3
| | | | | | | several things that were neither in an anonymous namespace nor static but not intended to be global. llvm-svn: 51017
* Remove attribution from file headers, per discussion on llvmdev.Chris Lattner2007-12-291-2/+2
| | | | llvm-svn: 45418
* Fix PR1575 and test/Transforms/CondProp/2007-08-01-InvalidRead.llChris Lattner2007-08-021-8/+10
| | | | llvm-svn: 40720
* Fix thinko. Update return status appropriately.Devang Patel2007-07-261-1/+1
| | | | llvm-svn: 40546
* Fix typo in comment.Nick Lewycky2007-05-061-1/+1
| | | | llvm-svn: 36873
* 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/+5
| | | | llvm-svn: 36632
* Prefer non-virtual calls to ConstantInt::isZero over virtual calls toReid Spencer2007-03-021-1/+1
| | | | | | Constant::isNullValue() in situations where it is possible. llvm-svn: 34821
* Although probably not necessary, guard against a potential assertion byReid Spencer2007-03-011-1/+1
| | | | | | using isNullValue() instead of getZExtValue() == 0. llvm-svn: 34815
* 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
* eliminate redundant checkChris Lattner2007-01-121-1/+0
| | | | llvm-svn: 33132
* Implement review feedback for the ConstantBool->ConstantInt merge. ChrisReid Spencer2007-01-121-1/+1
| | | | | | | | 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-1/+1
| | | | llvm-svn: 33076
* For PR1043:Zhou Sheng2007-01-111-2/+3
| | | | | | | Merge ConstantIntegral and ConstantBool into ConstantInt. Remove ConstantIntegral and ConstantBool from LLVM. llvm-svn: 33073
* Switch over Transforms/Scalar to use the STATISTIC macro. For each statisticChris Lattner2006-12-191-5/+3
| | | | | | | 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-2/+2
| | | | | | is 'unsigned'. llvm-svn: 32279
* Removed #include <iostream> and replaced with llvm_* streams.Bill Wendling2006-11-261-1/+1
| | | | llvm-svn: 31923
* There can be more than one PHINode at the start of the block.Devang Patel2006-11-011-5/+4
| | | | llvm-svn: 31362
* Handle PHINode with only one incoming value.Devang Patel2006-11-011-5/+9
| | | | | | This fixes http://llvm.org/bugs/show_bug.cgi?id=979 llvm-svn: 31358
* eliminate RegisterOpt. It does the same thing as RegisterPass.Chris Lattner2006-08-271-1/+1
| | | | llvm-svn: 29925
* Handle single-entry PHI nodes correctly. This fixes PR877 andChris Lattner2006-08-141-1/+11
| | | | | | Transforms/CondProp/2006-08-14-SingleEntryPhiCrash.ll llvm-svn: 29673
* Fix a fixme in CondPropagate.cpp by moving a PhiNode optimization intoNate Begeman2005-08-041-11/+0
| | | | | | | | BasicBlock's removePredecessor routine. This requires shuffling around the definition and implementation of hasContantValue from Utils.h,cpp into Instructions.h,cpp llvm-svn: 22664
* Remove trailing whitespaceMisha Brukman2005-04-211-3/+3
| | | | llvm-svn: 21427
* silence a bogus warningChris Lattner2005-04-181-1/+1
| | | | llvm-svn: 21320
* a new simple pass, which will be extended to be more useful in the future.Chris Lattner2005-04-151-0/+213
This pass forward branches through conditions when it can show that the conditions is either always true or false for a predecessor. This currently only handles the most simple cases of this, but is successful at threading across 2489 branches and 65 switch instructions in 176.gcc, which isn't bad. llvm-svn: 21306
OpenPOWER on IntegriCloud