summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
Commit message (Collapse)AuthorAgeFilesLines
* When the two operands of an icmp are equal, there are five possible predicatesNick Lewycky2007-09-061-1/+3
| | | | | | that would make the icmp true. Fixes PR1637. llvm-svn: 41740
* Forgot to obey 80 column rule. Fixing that.Chuck Rose III2007-09-051-1/+2
| | | | llvm-svn: 41725
* Added default parameters to GetElementPtrInstr constructor call. Visual ↵Chuck Rose III2007-09-051-1/+1
| | | | | | Studio 2k5 was getting confused and was unable to compile it. Suspected compiler error. llvm-svn: 41721
* Insert cloned loop basic blocks before original loop header.Devang Patel2007-09-041-1/+3
| | | | llvm-svn: 41713
* Update GEP constructors to use an iterator interface to fixDavid Greene2007-09-0410-47/+74
| | | | | | GLIBCXX_DEBUG issues. llvm-svn: 41697
* Silence warning while compiling with gcc 4.2Anton Korobeynikov2007-09-021-1/+2
| | | | llvm-svn: 41676
* Fix a gcroot lowering bug.Evan Cheng2007-09-011-2/+5
| | | | llvm-svn: 41668
* Cut off crazy computation. This helps PR1622 slightly.Chris Lattner2007-08-281-0/+4
| | | | llvm-svn: 41522
* Use simpler test to filter loops.Devang Patel2007-08-271-14/+3
| | | | llvm-svn: 41516
* Update InvokeInst to work like CallInstDavid Greene2007-08-276-7/+7
| | | | llvm-svn: 41506
* Change comments to refer to @malloc and @free instead of %malloc and %free.Dan Gohman2007-08-271-3/+3
| | | | llvm-svn: 41488
* Don't promote volatile loads/stores. This is needed (for example) to handle ↵Anton Korobeynikov2007-08-261-3/+6
| | | | | | | | setjmp/longjmp properly. This fixes PR1520. llvm-svn: 41461
* Don't DSe volatile stores.Owen Anderson2007-08-261-18/+25
| | | | llvm-svn: 41456
* Move exit condition and exit branch from exiting block into loop header and ↵Devang Patel2007-08-251-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 Patel2007-08-251-6/+0
| | | | | | other split value. llvm-svn: 41389
* While calculating upper loop bound for first loop and lower loop bound for ↵Devang Patel2007-08-251-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 Patel2007-08-241-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 Patel2007-08-241-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 Patel2007-08-241-0/+3
| | | | llvm-svn: 41357
* Tightenup loop filter.Devang Patel2007-08-241-2/+22
| | | | llvm-svn: 41356
* Remove incomplete cost analysis.Devang Patel2007-08-241-40/+3
| | | | llvm-svn: 41354
* rename APInt::toString -> toStringUnsigned for symmetry with toStringSigned()Chris Lattner2007-08-231-1/+1
| | | | | | Add an APSInt::toString() method. llvm-svn: 41309
* Remove dead code.Devang Patel2007-08-221-5/+0
| | | | llvm-svn: 41295
* Fix typo.Devang Patel2007-08-221-1/+1
| | | | llvm-svn: 41292
* Cosmetic changeDevang Patel2007-08-221-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 Patel2007-08-221-17/+34
| | | | llvm-svn: 41282
* Fix thinko.Devang Patel2007-08-221-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 Patel2007-08-211-72/+79
| | | | llvm-svn: 41250
* Preserve LCSSA.Devang Patel2007-08-211-1/+15
| | | | llvm-svn: 41246
* Use SmallVector instead of std::vector.Devang Patel2007-08-217-16/+14
| | | | llvm-svn: 41207
* s/ExitBlock/ExitingBlock/gDevang Patel2007-08-201-26/+27
| | | | llvm-svn: 41204
* Replace indunction variable with split value in loop body.Devang Patel2007-08-201-1/+5
| | | | | | This fixes art miscompile. llvm-svn: 41195
* Do not split loops rejected by processOneIterationLoop().Devang Patel2007-08-201-5/+11
| | | | llvm-svn: 41194
* Oops, remove assert that wasn't meant to be committed.Nick Lewycky2007-08-181-2/+0
| | | | llvm-svn: 41170
* Never insert duplicate edges.Nick Lewycky2007-08-181-13/+17
| | | | llvm-svn: 41169
* Typo.Nick Lewycky2007-08-181-1/+1
| | | | llvm-svn: 41168
* Avoid spliting loops where two split condition branches are not independent.Devang Patel2007-08-181-1/+11
| | | | llvm-svn: 41148
* When one branch of condition is eliminated then head of the otherDevang Patel2007-08-172-22/+44
| | | | | | branch is not necessary immediate dominators of merge blcok in all cases. llvm-svn: 41144
* Factor out some code into a helper function.Owen Anderson2007-08-161-55/+34
| | | | llvm-svn: 41131
* Add some more comments to GVN.Owen Anderson2007-08-161-0/+14
| | | | llvm-svn: 41129
* Dominance frontier is now required.Devang Patel2007-08-151-1/+1
| | | | llvm-svn: 41096
* Cleanup removeBlocks. Devang Patel2007-08-151-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
* Remove unneeded header file.Reid Spencer2007-08-151-1/+0
| | | | llvm-svn: 41094
* Avoid triangle loops.Devang Patel2007-08-151-4/+16
| | | | llvm-svn: 41093
* Break infinite loop.Devang Patel2007-08-141-15/+17
| | | | llvm-svn: 41091
* Avoid nested loops at the moment.Devang Patel2007-08-141-0/+4
| | | | llvm-svn: 41090
* Fix dominance frontier update while removing blocks.Devang Patel2007-08-141-7/+30
| | | | llvm-svn: 41082
* Eliminate PHI nodes with constant values during normal GVN processing, even whenOwen Anderson2007-08-141-1/+21
| | | | | | they're not related to eliminating a load. llvm-svn: 41081
* Be more aggressive in pruning unnecessary PHI nodes when doing PHI construction.Owen Anderson2007-08-141-28/+47
| | | | llvm-svn: 41080
* Make GVN iterative.Owen Anderson2007-08-141-1/+16
| | | | llvm-svn: 41078
OpenPOWER on IntegriCloud