aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/RegAllocGreedy.cpp
Commit message (Expand)AuthorAgeFilesLines
* There is only one register coalescer. Merge it into the base class andRafael Espindola2011-06-261-1/+1
* Move RegisterCoalescer.h to lib/CodeGen.Rafael Espindola2011-06-261-1/+1
* Simplify local live range splitting's safeguard to fix PR10070.Jakob Stoklund Olesen2011-06-061-87/+57
* Switch AllocationOrder to using RegisterClassInfo instead of a BitVectorJakob Stoklund Olesen2011-06-031-3/+1
* Revert r132358 "Simplify the eviction policy by making the failsafe explicit."Jakob Stoklund Olesen2011-06-011-97/+44
* Simplify the eviction policy by making the failsafe explicit.Jakob Stoklund Olesen2011-05-311-44/+97
* Reapply r132245 with a fix for the bug that broke the darwin9/i386 build.Jakob Stoklund Olesen2011-05-301-10/+10
* Revert r132245, "Create two BlockInfo entries when a live range is discontinu...Jakob Stoklund Olesen2011-05-291-10/+10
* Create two BlockInfo entries when a live range is discontinuous through a block.Jakob Stoklund Olesen2011-05-281-10/+10
* Add SplitAnalysis::getNumLiveBlocks().Jakob Stoklund Olesen2011-05-281-1/+1
* Add a RAGreedy::canEvict function.Jakob Stoklund Olesen2011-05-251-4/+62
* Fix PR9883. Make sure all caches are invalidated when a live range is repaired.Jakob Stoklund Olesen2011-05-101-3/+1
* Emit a proper error message when register allocators run out of registers.Jakob Stoklund Olesen2011-05-061-1/+4
* Update LiveDebugVariables after live range splitting.Jakob Stoklund Olesen2011-05-061-1/+6
* Gracefully handle invalid live ranges. Fix PR9831.Jakob Stoklund Olesen2011-05-031-0/+13
* Use hysteresis for local live range splitting as well.Jakob Stoklund Olesen2011-04-301-4/+4
* 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