summaryrefslogtreecommitdiffstats
path: root/llvm
Commit message (Collapse)AuthorAgeFilesLines
* Cleanup up LegalizeTypes handling of loads andDuncan Sands2008-06-235-24/+22
| | | | | | stores. llvm-svn: 52620
* Make test work on non-x86 machines (like my G4 PPC).Bill Wendling2008-06-231-2/+2
| | | | llvm-svn: 52619
* 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-222-20/+38
| | | | | | 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-222-3/+3
| | | | 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-222-17/+25
| | | | llvm-svn: 52612
* Fix PR2369 by making scalarrepl more careful about promoting Chris Lattner2008-06-222-5/+32
| | | | | | | | | 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-212-2/+12
| | | | | | | | 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
* This file is empty.Duncan Sands2008-06-211-0/+0
| | | | llvm-svn: 52596
* Turn off llvm-gcc warnings when running "make check".Duncan Sands2008-06-211-2/+2
| | | | llvm-svn: 52595
* 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
* Reorder some fields in SDNode. This avoids padding,Dan Gohman2008-06-211-5/+5
| | | | | | reducings its size from 80 to 72 on 64-bit hosts. llvm-svn: 52584
* Remove ScheduleDAG's SUnitMap altogether. Instead, use SDNode's NodeIdDan Gohman2008-06-215-53/+39
| | | | | | | 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-214-12/+85
| | | | | | | 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-214-1/+75
| | | | | | | 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-215-42/+54
| | | | | | | | 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-216-19/+10
| | | | 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-212-557/+367
| | | | llvm-svn: 52570
* Updated VS build system. Patch provided by Cedric Venet:Ted Kremenek2008-06-202-9/+16
| | | | | | http://lists.cs.uiuc.edu/pipermail/llvmdev/2008-June/015446.html llvm-svn: 52564
* Enhanced heuristic to determine the *best* register to spill. Instead of ↵Evan Cheng2008-06-201-66/+176
| | | | | | | | picking the register with the lowest spill weight. Consider (up to) 2 additional registers with spill weights that are close to the lowest spill weight. The one with fewest defs and uses that conflicts with the current interval (weighted by loop depth) is the spill candidate. This is not always a win, but there are much more wins than loses and wins tend to be more noticeable. llvm-svn: 52554
* integer types are not primitive, they are derived.Chris Lattner2008-06-201-1/+0
| | | | llvm-svn: 52551
* llvmc doesn't exist anymore, and llvmc2 doesn't have a special license file.Owen Anderson2008-06-201-1/+0
| | | | llvm-svn: 52550
* Share some code that is common between integer andDuncan Sands2008-06-206-412/+560
| | | | | | float expansion (and sometimes vector splitting too). llvm-svn: 52548
* Add some methods for querying the nature of aDuncan Sands2008-06-201-14/+25
| | | | | | | store, like the methods for loads (and neaten those up a bit while there). llvm-svn: 52547
* Rename the operation of turning a float type into anDuncan Sands2008-06-205-77/+76
| | | | | | | | | integer of the same type. Before it was "promotion", but this is confusing because it is quite different to promotion of integers. Call it "softening" instead, inspired by "soft float". llvm-svn: 52546
* Clean up some uses of std::distance, now that we have allnodes_size.Dan Gohman2008-06-202-4/+3
| | | | llvm-svn: 52545
* 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
* Add an allnodes_size method.Dan Gohman2008-06-201-0/+1
| | | | llvm-svn: 52541
* Add testcase that checks that DeadArgElim doesn't touch stuff it shouldn't ↵Matthijs Kooijman2008-06-201-0/+36
| | | | | | touch. llvm-svn: 52540
OpenPOWER on IntegriCloud