summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms
Commit message (Collapse)AuthorAgeFilesLines
* Remove unused function.Eric Christopher2008-06-261-82/+1
| | | | llvm-svn: 52749
* Move GetConstantStringInfo to lib/Analysis. RemoveEric Christopher2008-06-261-2/+2
| | | | | | | | | string output routine from Constant. Update all callers. Change debug intrinsic api slightly to accomodate move of routine, these now return values instead of strings. llvm-svn: 52748
* Restore DeadArgElim back to 52570. It's breaking 447.dealII.Evan Cheng2008-06-251-527/+374
| | | | llvm-svn: 52736
* Pacify gcc-4.3.Duncan Sands2008-06-251-1/+1
| | | | llvm-svn: 52723
* Fix a (false) warning on darwin.Matthijs Kooijman2008-06-251-1/+3
| | | | llvm-svn: 52705
* Fix some cosmetics in comments.Matthijs Kooijman2008-06-251-6/+6
| | | | llvm-svn: 52704
* - Use O(1) check of basic block size limit.Evan Cheng2008-06-251-4/+8
| | | | | | - Avoid speculatively execute vector ops. llvm-svn: 52703
* Fix PR2488, a case where we deleted stack restores too aggressively.Chris Lattner2008-06-251-4/+9
| | | | llvm-svn: 52702
* Revert 52645, the loop unroller changes. It caused a regression in 252.eon.Dan Gohman2008-06-241-120/+103
| | | | llvm-svn: 52688
* Fix a typo in a comment.Dan Gohman2008-06-241-1/+1
| | | | llvm-svn: 52687
* Commit the new DeadArgElim pass again, this time with the gcc bootstrap ↵Matthijs Kooijman2008-06-241-374/+525
| | | | | | | | failures fixed. Also add a testcase to reproduce the gcc bootstrap failure in very much reduced form. llvm-svn: 52677
* Rename a few variables to be more consistent.Matthijs Kooijman2008-06-241-3/+3
| | | | llvm-svn: 52672
* Use use_empty() instead of getNumUses(), avoiding a use list traversal.Dan Gohman2008-06-231-1/+1
| | | | llvm-svn: 52651
* Fix spelling and grammar in a comment.Dan Gohman2008-06-231-2/+2
| | | | llvm-svn: 52648
* Revamp the loop unroller, extending it to correctly update PHI nodesDan Gohman2008-06-231-103/+120
| | | | | | | | in the presence of out-of-loop users of in-loop values and the trip count is not a known multiple of the unroll count, and to be a bit simpler overall. This fixes PR2253. llvm-svn: 52645
* Disable PRE. It's breaking bootstrapping.Evan Cheng2008-06-231-1/+1
| | | | llvm-svn: 52643
* Tighten the conditions under which we do PRE, remove some unneeded code, and ↵Owen Anderson2008-06-231-12/+10
| | | | | | | | correct our preserved analyses list, since we do now change the CFG by splitting critical edges during PRE. llvm-svn: 52631
* minor tidying of comments.Chris Lattner2008-06-231-12/+14
| | | | llvm-svn: 52630
* At Chris' suggestion, move the liveness and worklist datastructures intoOwen Anderson2008-06-231-7/+11
| | | | | | | instance variables so they can be allocated just once, and reuse the worklist as the dead list as well. llvm-svn: 52618
* Improve LSR's dead-phi detection to handle use-def cyclesDan Gohman2008-06-221-20/+17
| | | | | | with more than two nodes. llvm-svn: 52617
* Use Loop::block_iterator.Dan Gohman2008-06-224-16/+21
| | | | llvm-svn: 52616
* Fix PR2369 by making scalarrepl more careful about promoting Chris Lattner2008-06-221-5/+14
| | | | | | | | | structures. Its default threshold is to promote things that are smaller than 128 bytes, which is sane. However, it is not sane to do this for things that turn into 128 *registers*. Add a cap on the number of registers introduced, defaulting to 128/4=32. llvm-svn: 52611
* Fix for PR2479: correctly optimize expressions like (a > 13) & (a == Eli Friedman2008-06-211-2/+1
| | | | | | | | 15). See also PR1800, which is about the signed case. llvm-svn: 52608
* Use Instruction::eraseFromParent().Dan Gohman2008-06-217-13/+13
| | | | llvm-svn: 52606
* Fix warning when assertions disabled.Chris Lattner2008-06-211-1/+1
| | | | llvm-svn: 52590
* Enable PRE.Evan Cheng2008-06-211-1/+1
| | | | llvm-svn: 52574
* Back out Matthijs' DAE patches. It's miscompiling gcc driver.Evan Cheng2008-06-211-518/+367
| | | | llvm-svn: 52570
* Clean up a use of std::distance.Dan Gohman2008-06-201-2/+1
| | | | llvm-svn: 52544
* Tidy up some commments and use the getAggregateOperand andDan Gohman2008-06-201-9/+9
| | | | | | getInsertedValueOperand accessors. Thanks Matthijs! llvm-svn: 52543
* Fix the conditions under which SCCP should examine insertvalueDan Gohman2008-06-201-1/+18
| | | | | | instructions. Thanks to Matthijs Kooijman for pointing this out! llvm-svn: 52542
* 80 column and trailing whitespace fixes.Matthijs Kooijman2008-06-201-49/+72
| | | | llvm-svn: 52539
* Don't let DeadArgumentElimination attempt to update callers when the returnMatthijs Kooijman2008-06-201-9/+12
| | | | | | type wasn't changed. llvm-svn: 52538
* Don't let DeadArgElimination change the return type ({} into void and {T}Matthijs Kooijman2008-06-201-7/+13
| | | | | | into T) when no return values are actually dead. llvm-svn: 52537
* Explicitely track if any arguments or return values were removed inMatthijs Kooijman2008-06-201-1/+10
| | | | | | | | DeadArgumentElimination and assert that the function type does not change if nothing was changed. This should catch subtle changes in function type that are not intended. llvm-svn: 52536
* Remove debug output.Matthijs Kooijman2008-06-201-4/+0
| | | | llvm-svn: 52535
* Recommit r52459, rewriting of the dead argument elimination pass.Matthijs Kooijman2008-06-201-369/+483
| | | | | | | | | | | | This is a fixed version that no longer uses multimap::equal_range, which resulted in a pointer invalidation problem. Also, DAE::InspectedFunctions was not really necessary, so it got removed. Lastly, this version no longer applies the extra arg hack on functions who did not have any arguments to start with. llvm-svn: 52532
* Really disable PRE.Owen Anderson2008-06-201-1/+1
| | | | llvm-svn: 52531
* Fix PR2471, which is a bug involving an invalid promotion from a conditional ↵Chris Lattner2008-06-201-1/+7
| | | | | | load. llvm-svn: 52525
* Change around the data structures used to store availability sets, resulting ↵Owen Anderson2008-06-201-26/+64
| | | | | | in a GVN+PRE that is faster that GVN alone was before. llvm-svn: 52521
* Teach SCCP about insertvalue and extractvalue, and aboutDan Gohman2008-06-201-13/+107
| | | | | | | propagating constants across aggregate return values when insertvalue and extractvalue are used. llvm-svn: 52520
* Teach InlineFunction how to differentiate between multiple-valueDan Gohman2008-06-201-2/+10
| | | | | | | return statements and aggregate returns so that it handles both correctly. llvm-svn: 52519
* Disable PRE for now. It seems to be breaking llvm-gcc bootstrapping.Evan Cheng2008-06-201-2/+2
| | | | llvm-svn: 52518
* Add a hidden -disable-pre flag for testing purposes. This should be removedOwen Anderson2008-06-191-2/+8
| | | | | | once benchmarking is completed. llvm-svn: 52506
* PRE requires that critical edges be split.Owen Anderson2008-06-191-0/+24
| | | | llvm-svn: 52505
* Remove dead code causing a warning.Bill Wendling2008-06-191-2/+0
| | | | llvm-svn: 52502
* Use the common API for adding instructions to basic blocks instead ofDan Gohman2008-06-191-11/+6
| | | | | | using BasicBlock::getInstList. llvm-svn: 52500
* Be sure to remove values from the value numbering table after we delete them.Owen Anderson2008-06-191-0/+1
| | | | | | This fixes a failure on povray. llvm-svn: 52499
* Use Instruction::moveBefore instead of manipulating the instruction listDan Gohman2008-06-191-4/+2
| | | | | | directly. llvm-svn: 52498
* Avoid using BasicBlock::getInstList directly in a few places.Dan Gohman2008-06-191-9/+10
| | | | llvm-svn: 52497
* Revert support for insertvalue and extractvalue instructions for the moment.Owen Anderson2008-06-191-63/+1
| | | | | | | GVN expects that all inputs which to an instruction fall somewhere in the value hierarchy, which isn't true for these. llvm-svn: 52496
OpenPOWER on IntegriCloud