summaryrefslogtreecommitdiffstats
path: root/llvm/lib
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* Remove option used to debug stack coloring bugs. It's no longer needed since ↵Evan Cheng2008-06-231-6/+1
| | | | | | stack coloring is now bug free. llvm-svn: 52644
* Disable PRE. It's breaking bootstrapping.Evan Cheng2008-06-231-1/+1
| | | | llvm-svn: 52643
* Move a DenseMap's declaration outside of a loop, and just callDan Gohman2008-06-231-1/+2
| | | | | | | clear() on each iteration. This avoids allocating and deallocating all of DenseMap's memory on each iteration. llvm-svn: 52642
* Instead of adding an isSS field to LiveInterval to denote stack slot. Use ↵Evan Cheng2008-06-232-5/+4
| | | | | | top bit of 'reg' instead. If the top bit is set, than the LiveInterval represents a stack slot live interval. llvm-svn: 52639
* First step to fix PR2088. Implement routine to compute the Wojciech Matyjewicz2008-06-231-7/+48
| | | | | | | | multiplicative inverse of a given number. Modify udivrem to allow input and output pairs of arguments to overlap. Patch is based on the work by Chandler Carruth. llvm-svn: 52638
* Update the .cvs files.Dan Gohman2008-06-233-102/+106
| | | | llvm-svn: 52637
* Fix the types for NumElements variables, and add a commentDan Gohman2008-06-231-7/+9
| | | | | | explaining why empty array constants use ValID::createUndef(). llvm-svn: 52636
* 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
* Remove two convenience constructors because they're now private, and theDan Gohman2008-06-231-18/+0
| | | | | | private implementation doesn't really need the convenience. llvm-svn: 52629
* Use std::copy instead of a loop.Dan Gohman2008-06-231-3/+1
| | | | llvm-svn: 52628
* More changes from Chris' review: simplify getIndices and avoidDan Gohman2008-06-231-8/+6
| | | | | | copying its return value. llvm-svn: 52627
* Duncan pointed out this code could be tidied.Dan Gohman2008-06-231-6/+3
| | | | llvm-svn: 52624
* Port some integer multiplication fixes from LegalizeDAG.Duncan Sands2008-06-231-8/+24
| | | | | | | Bail out with an error if there is no libcall available for the given size of integer. llvm-svn: 52622
* Support for expanding the result of EXTRACT_ELEMENT.Duncan Sands2008-06-234-7/+24
| | | | llvm-svn: 52621
* Cleanup up LegalizeTypes handling of loads andDuncan Sands2008-06-235-24/+22
| | | | | | stores. llvm-svn: 52620
* 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
* Generalize createSCEV to be able to form SCEV expressions fromDan Gohman2008-06-221-110/+117
| | | | | | ConstantExprs. llvm-svn: 52615
* Use SCEVAddRecExpr::isAffine.Dan Gohman2008-06-221-2/+2
| | | | llvm-svn: 52614
* Remove unnecessary #includes.Dan Gohman2008-06-224-4/+0
| | | | llvm-svn: 52613
* Move a few more SCEVExpander methods out-of-line.Dan Gohman2008-06-221-0/+21
| | | | llvm-svn: 52612
* 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
* Make custom lowering of ADD work correctly. ThisDuncan Sands2008-06-221-3/+3
| | | | | | | | | | fixes PR2476; patch by Richard Osborne. The same problem exists for a bunch of other operators, but I'm ignoring this because they will be automagically fixed when the new LegalizeTypes infrastructure lands, since it already solves this problem centrally. llvm-svn: 52610
* 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
* Use Function's arg_size() and size() methods.Dan Gohman2008-06-211-2/+2
| | | | llvm-svn: 52605
* Simplify some getNode calls.Dan Gohman2008-06-211-6/+3
| | | | llvm-svn: 52604
* canClobberPhysRegDefs shouldn't called without checking hasPhysRegDefs;Dan Gohman2008-06-211-3/+2
| | | | | | check this with an assert. llvm-svn: 52603
* Avoid creating a redundant zero APInt.Dan Gohman2008-06-211-1/+1
| | | | llvm-svn: 52602
* Use clear() to zero an existing APInt.Dan Gohman2008-06-211-1/+1
| | | | llvm-svn: 52601
* Use back() instead of [size()-1].Dan Gohman2008-06-212-3/+3
| | | | llvm-svn: 52600
* Use MachineBasicBlock::transferSuccessors.Dan Gohman2008-06-213-21/+7
| | | | llvm-svn: 52594
* Use static_cast instead of reinterpret_cast for casting void*.Dan Gohman2008-06-212-5/+5
| | | | llvm-svn: 52592
* Fix warning when assertions disabled.Chris Lattner2008-06-211-1/+1
| | | | llvm-svn: 52590
* fix warning when assertions disabled.Chris Lattner2008-06-211-2/+1
| | | | llvm-svn: 52589
* fix warning when assertion disabled.Chris Lattner2008-06-211-1/+1
| | | | llvm-svn: 52588
* fix some warnings when assertions are disabled.Chris Lattner2008-06-213-5/+5
| | | | llvm-svn: 52587
* Remove a redundant return.Dan Gohman2008-06-211-2/+0
| | | | llvm-svn: 52585
* Remove ScheduleDAG's SUnitMap altogether. Instead, use SDNode's NodeIdDan Gohman2008-06-214-50/+38
| | | | | | | field, which is otherwise unused after instruction selection, as an index into the SUnit array. llvm-svn: 52583
* Add a priority queue class, which is a wrapper around std::priority_queueDan Gohman2008-06-212-11/+8
| | | | | | | and provides fairly efficient removal of arbitrary elements. Switch ScheduleDAGRRList from std::set to this new priority queue. llvm-svn: 52582
* Support for load/store of expanded float types. IDuncan Sands2008-06-213-1/+65
| | | | | | | don't know if a truncating store is possible here, but added support for it anyway. llvm-svn: 52577
* Change ScheduleDAG's SUnitMap from DenseMap<SDNode*, vector<SUnit*> >Dan Gohman2008-06-214-34/+46
| | | | | | | | to DenseMap<SDNode*, SUnit*>, and adjust the way cloned SUnit nodes are handled so that only the original node needs to be in the map. This speeds up llc on 447.dealII.llvm.bc by about 2%. llvm-svn: 52576
* Enable PRE.Evan Cheng2008-06-211-1/+1
| | | | llvm-svn: 52574
* Undo spill weight tweak. Need to investigate the performance regressions.Evan Cheng2008-06-212-10/+5
| | | | llvm-svn: 52572
* Simplify some template parameterization.Dan Gohman2008-06-211-19/+12
| | | | llvm-svn: 52571
* Back out Matthijs' DAE patches. It's miscompiling gcc driver.Evan Cheng2008-06-211-518/+367
| | | | llvm-svn: 52570
OpenPOWER on IntegriCloud