aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/RegAllocGreedy.cpp
AgeCommit message (Expand)Author
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
2011-03-04Extract a method. No functional change.Jakob Stoklund Olesen
2011-03-04Go back to comparing spill weights when deciding if interference can be evicted.Jakob Stoklund Olesen
2011-03-04Tweak debug output. No functional changes.Jakob Stoklund Olesen
2011-03-04Precompute block frequencies, pow() isn't free.Jakob Stoklund Olesen
2011-03-03Cache basic block bounds instead of asking SlotIndexes::getMBBRange all the t...Jakob Stoklund Olesen
2011-03-03Change the SplitEditor interface to a single instance can be shared for multi...Jakob Stoklund Olesen
2011-03-01Drop RAGreedy::trySpillInterferences().Jakob Stoklund Olesen
2011-03-01Keep track of which stage produced a live range, and bypass earlier stages wh...Jakob Stoklund Olesen
2011-02-25Try harder to get the hint by preferring to evict hint interference.Jakob Stoklund Olesen
2011-02-24Tweak the register allocator priority queue some more.Jakob Stoklund Olesen
2011-02-23Keep track of how many times a live range has been dequeued, and prioritize n...Jakob Stoklund Olesen
2011-02-23Fix a bug in determining if there is only a single interfering register.Jakob Stoklund Olesen
2011-02-23Be more aggressive about evicting interference.Jakob Stoklund Olesen
2011-02-22Change the RAGreedy register assignment order so large live ranges are alloca...Jakob Stoklund Olesen
2011-02-21Add SplitKit::isOriginalEndpoint and use it to force live range splitting to ...Jakob Stoklund Olesen
2011-02-19Give SplitAnalysis a VRM member to access VirtRegMap::getOriginal().Jakob Stoklund Olesen