aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/RegAllocGreedy.cpp
AgeCommit message (Expand)Author
2011-06-26There is only one register coalescer. Merge it into the base class andRafael Espindola
2011-06-26Move RegisterCoalescer.h to lib/CodeGen.Rafael Espindola
2011-06-06Simplify local live range splitting's safeguard to fix PR10070.Jakob Stoklund Olesen
2011-06-03Switch AllocationOrder to using RegisterClassInfo instead of a BitVectorJakob Stoklund Olesen
2011-06-01Revert r132358 "Simplify the eviction policy by making the failsafe explicit."Jakob Stoklund Olesen
2011-05-31Simplify the eviction policy by making the failsafe explicit.Jakob Stoklund Olesen
2011-05-30Reapply r132245 with a fix for the bug that broke the darwin9/i386 build.Jakob Stoklund Olesen
2011-05-29Revert r132245, "Create two BlockInfo entries when a live range is discontinu...Jakob Stoklund Olesen
2011-05-28Create two BlockInfo entries when a live range is discontinuous through a block.Jakob Stoklund Olesen
2011-05-28Add SplitAnalysis::getNumLiveBlocks().Jakob Stoklund Olesen
2011-05-25Add a RAGreedy::canEvict function.Jakob Stoklund Olesen
2011-05-10Fix PR9883. Make sure all caches are invalidated when a live range is repaired.Jakob Stoklund Olesen
2011-05-06Emit a proper error message when register allocators run out of registers.Jakob Stoklund Olesen
2011-05-06Update LiveDebugVariables after live range splitting.Jakob Stoklund Olesen
2011-05-03Gracefully handle invalid live ranges. Fix PR9831.Jakob Stoklund Olesen
2011-04-30Use hysteresis for local live range splitting as well.Jakob Stoklund Olesen
2011-04-26Add a safe-guard against repeated splitting for some rare cases.Jakob Stoklund Olesen
2011-04-22Always compare the cost of region splitting with the cost of per-block splitt...Jakob Stoklund Olesen
2011-04-21Allow allocatable ranges from global live range splitting to be split again.Jakob Stoklund Olesen
2011-04-20Prefer cheap registers for busy live ranges.Jakob Stoklund Olesen
2011-04-13Stop using dead function.Jakob Stoklund Olesen
2011-04-12SparseBitVector is SLOW.Jakob Stoklund Olesen
2011-04-12Create new intervals for isolated blocks during region splitting.Jakob Stoklund Olesen
2011-04-11Speed up eviction by stopping collectInterferingVRegs as soon as the spillJakob Stoklund Olesen
2011-04-09Build the Hopfield network incrementally when splitting global live ranges.Jakob Stoklund Olesen
2011-04-07Extract SpillPlacement::addLinks for handling the special transparent blocks.Jakob Stoklund Olesen
2011-04-06Also account for the spill code that would be inserted in live-through blocks...Jakob Stoklund Olesen
2011-04-06Abort the constraint calculation early when all positive bias is lost.Jakob Stoklund Olesen
2011-04-06Keep track of the number of positively biased nodes when adding constraints.Jakob Stoklund Olesen
2011-04-06Break the spill placement algorithm into three parts: prepare, addConstraints...Jakob Stoklund Olesen
2011-04-06Oops. Scary.Jakob Stoklund Olesen
2011-04-06Analyze blocks with uses separately from live-through blocks without uses.Jakob Stoklund Olesen
2011-04-05Run LiveDebugVariables in RegAllocBasic and RegAllocGreedy.Jakob Stoklund Olesen
2011-04-05Stop precomputing last split points, query the SplitAnalysis cache on demand.Jakob Stoklund Olesen
2011-04-04Stop caching basic block index ranges now that SlotIndexes can keep up.Jakob Stoklund Olesen
2011-04-02Use InterferenceCache in RegAllocGreedy.Jakob Stoklund Olesen
2011-04-02Add an InterferenceCache class for caching per-block interference ranges.Jakob Stoklund Olesen
2011-03-30Treat clones the same as their origin.Jakob Stoklund Olesen
2011-03-29Recompute register class and hint for registers created during spilling.Jakob Stoklund Olesen
2011-03-27Drop interference reassignment in favor of eviction.Jakob Stoklund Olesen
2011-03-19Add debug output.Jakob Stoklund Olesen
2011-03-16Add a LiveRangeEdit delegate callback before shrinking a live range.Jakob Stoklund Olesen
2011-03-16Clarify debugging output.Jakob Stoklund Olesen
2011-03-13Tell the register allocator about new unused virtual registers.Jakob Stoklund Olesen
2011-03-10Change the Spiller interface to take a LiveRangeEdit reference.Jakob Stoklund Olesen
2011-03-10Make SpillIs an optional pointer. Avoid creating a bunch of temporary SmallVe...Jakob Stoklund Olesen
2011-03-09Add a LiveRangeEdit::Delegate protocol.Jakob Stoklund Olesen
2011-03-07Make the UselessRegs argument optional in the LiveRangeEdit constructor.Jakob Stoklund Olesen
2011-03-05Rework the global split cost calculation.Jakob Stoklund Olesen
2011-03-05Compute the constraints for global live range splitting from an interference ...Jakob Stoklund Olesen