aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/RegAllocGreedy.cpp
AgeCommit message (Expand)Author
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
2011-02-19Separate timers for local and global splitting.Jakob Stoklund Olesen
2011-02-18Add VirtRegMap::rewrite() and use it in the new register allocators.Jakob Stoklund Olesen
2011-02-17Add basic register allocator statistics.Jakob Stoklund Olesen
2011-02-17Split local live ranges.Jakob Stoklund Olesen
2011-02-09Simplify using the new leaveIntvBefore()Jakob Stoklund Olesen
2011-02-09Move calcLiveBlockInfo() and the BlockInfo struct into SplitAnalysis.Jakob Stoklund Olesen
2011-02-09Evict a lighter single interference before attempting to split a live range.Jakob Stoklund Olesen
2011-02-08Fix one more case of splitting after the last split point.Jakob Stoklund Olesen
2011-02-08Reorganize interference code to check LastSplitPoint first.Jakob Stoklund Olesen
2011-02-08Also handle the situation where an indirect branch is the first (and last)Jakob Stoklund Olesen
2011-02-08Add LiveIntervals::addKillFlags() to recompute kill flags after register allo...Jakob Stoklund Olesen
2011-02-08Trim debug spewJakob Stoklund Olesen
2011-02-08Add SplitEditor::overlapIntv() to create small ranges where both registers ar...Jakob Stoklund Olesen
2011-02-05Be more strict about the first/last interference-free use.Jakob Stoklund Olesen
2011-02-05Add assertions to verify that the new interval is clear of the interference.Jakob Stoklund Olesen
2011-02-04Be more accurate about live range splitting at the end of blocks.Jakob Stoklund Olesen
2011-02-04Verify that one of the ranges produced by region splitting is allocatable.Jakob Stoklund Olesen
2011-02-04Also compute interference intervals for blocks with no uses.Jakob Stoklund Olesen
2011-02-03Ensure that the computed interference intervals actually overlap their basic ...Jakob Stoklund Olesen
2011-02-03Return live range end points from SplitEditor::enter*/leave*.Jakob Stoklund Olesen
2011-02-03Reapply this.Eric Christopher
2011-02-03Temporarily revert 124765 in an attempt to find the cycle breaking bootstrap.Eric Christopher
2011-02-03Defer SplitKit value mapping until all defs are available.Jakob Stoklund Olesen