aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/RegAllocGreedy.cpp
Commit message (Expand)AuthorAgeFilesLines
* Add a safe-guard against repeated splitting for some rare cases.Jakob Stoklund Olesen2011-04-261-3/+15
* Always compare the cost of region splitting with the cost of per-block splitt...Jakob Stoklund Olesen2011-04-221-6/+45
* Allow allocatable ranges from global live range splitting to be split again.Jakob Stoklund Olesen2011-04-211-5/+28
* Prefer cheap registers for busy live ranges.Jakob Stoklund Olesen2011-04-201-6/+44
* Stop using dead function.Jakob Stoklund Olesen2011-04-131-3/+0
* SparseBitVector is SLOW.Jakob Stoklund Olesen2011-04-121-48/+55
* Create new intervals for isolated blocks during region splitting.Jakob Stoklund Olesen2011-04-121-21/+23
* Speed up eviction by stopping collectInterferingVRegs as soon as the spillJakob Stoklund Olesen2011-04-111-10/+12
* Build the Hopfield network incrementally when splitting global live ranges.Jakob Stoklund Olesen2011-04-091-41/+83
* Extract SpillPlacement::addLinks for handling the special transparent blocks.Jakob Stoklund Olesen2011-04-071-17/+27
* Also account for the spill code that would be inserted in live-through blocks...Jakob Stoklund Olesen2011-04-061-5/+16
* Abort the constraint calculation early when all positive bias is lost.Jakob Stoklund Olesen2011-04-061-33/+63
* Keep track of the number of positively biased nodes when adding constraints.Jakob Stoklund Olesen2011-04-061-0/+1
* Break the spill placement algorithm into three parts: prepare, addConstraints...Jakob Stoklund Olesen2011-04-061-1/+4
* Oops. Scary.Jakob Stoklund Olesen2011-04-061-1/+1
* Analyze blocks with uses separately from live-through blocks without uses.Jakob Stoklund Olesen2011-04-061-68/+83
* Run LiveDebugVariables in RegAllocBasic and RegAllocGreedy.Jakob Stoklund Olesen2011-04-051-0/+7
* Stop precomputing last split points, query the SplitAnalysis cache on demand.Jakob Stoklund Olesen2011-04-051-10/+13
* Stop caching basic block index ranges now that SlotIndexes can keep up.Jakob Stoklund Olesen2011-04-041-18/+22
* Use InterferenceCache in RegAllocGreedy.Jakob Stoklund Olesen2011-04-021-94/+46
* Add an InterferenceCache class for caching per-block interference ranges.Jakob Stoklund Olesen2011-04-021-1/+1
* Treat clones the same as their origin.Jakob Stoklund Olesen2011-03-301-5/+21
* Recompute register class and hint for registers created during spilling.Jakob Stoklund Olesen2011-03-291-0/+1
* Drop interference reassignment in favor of eviction.Jakob Stoklund Olesen2011-03-271-132/+15
* Add debug output.Jakob Stoklund Olesen2011-03-191-0/+1
* Add a LiveRangeEdit delegate callback before shrinking a live range.Jakob Stoklund Olesen2011-03-161-0/+12
* Clarify debugging output.Jakob Stoklund Olesen2011-03-161-2/+8
* Tell the register allocator about new unused virtual registers.Jakob Stoklund Olesen2011-03-131-0/+10
* Change the Spiller interface to take a LiveRangeEdit reference.Jakob Stoklund Olesen2011-03-101-1/+2
* Make SpillIs an optional pointer. Avoid creating a bunch of temporary SmallVe...Jakob Stoklund Olesen2011-03-101-2/+1
* Add a LiveRangeEdit::Delegate protocol.Jakob Stoklund Olesen2011-03-091-4/+20
* Make the UselessRegs argument optional in the LiveRangeEdit constructor.Jakob Stoklund Olesen2011-03-071-6/+3
* Rework the global split cost calculation.Jakob Stoklund Olesen2011-03-051-21/+30
* Compute the constraints for global live range splitting from an interference ...Jakob Stoklund Olesen2011-03-051-163/+67
* Extract a method. No functional change.Jakob Stoklund Olesen2011-03-041-40/+52
* Go back to comparing spill weights when deciding if interference can be evicted.Jakob Stoklund Olesen2011-03-041-9/+5
* Tweak debug output. No functional changes.Jakob Stoklund Olesen2011-03-041-1/+6
* Precompute block frequencies, pow() isn't free.Jakob Stoklund Olesen2011-03-041-4/+3
* Cache basic block bounds instead of asking SlotIndexes::getMBBRange all the t...Jakob Stoklund Olesen2011-03-031-39/+30
* Change the SplitEditor interface to a single instance can be shared for multi...Jakob Stoklund Olesen2011-03-031-34/+37
* Drop RAGreedy::trySpillInterferences().Jakob Stoklund Olesen2011-03-011-70/+0
* Keep track of which stage produced a live range, and bypass earlier stages wh...Jakob Stoklund Olesen2011-03-011-20/+76
* Try harder to get the hint by preferring to evict hint interference.Jakob Stoklund Olesen2011-02-251-0/+3
* Tweak the register allocator priority queue some more.Jakob Stoklund Olesen2011-02-241-10/+22
* Keep track of how many times a live range has been dequeued, and prioritize n...Jakob Stoklund Olesen2011-02-231-0/+7
* Fix a bug in determining if there is only a single interfering register.Jakob Stoklund Olesen2011-02-231-2/+1
* Be more aggressive about evicting interference.Jakob Stoklund Olesen2011-02-231-26/+88
* Change the RAGreedy register assignment order so large live ranges are alloca...Jakob Stoklund Olesen2011-02-221-17/+24
* Add SplitKit::isOriginalEndpoint and use it to force live range splitting to ...Jakob Stoklund Olesen2011-02-211-2/+11
* Give SplitAnalysis a VRM member to access VirtRegMap::getOriginal().Jakob Stoklund Olesen2011-02-191-1/+1