aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/SplitKit.h
Commit message (Expand)AuthorAgeFilesLines
* Add LiveIntervalMap::dumpCache() to print out the cache used by the ssa updat...Jakob Stoklund Olesen2011-01-201-0/+3
* Add RAGreedy methods for splitting live ranges around regions.Jakob Stoklund Olesen2011-01-181-0/+8
* Turn the EdgeBundles class into a stand-alone machine CFG analysis pass.Jakob Stoklund Olesen2011-01-041-37/+1
* Add EdgeBundles to SplitKit.Jakob Stoklund Olesen2010-12-211-1/+38
* Detect and enumerate bypass loops.Jakob Stoklund Olesen2010-12-151-0/+9
* Separate SplitAnalysis::getSplitLoops().Jakob Stoklund Olesen2010-12-151-0/+4
* Basic rematerialization during splitting.Jakob Stoklund Olesen2010-11-101-8/+10
* When inserting copies during splitting, always use the parent register as theJakob Stoklund Olesen2010-11-011-6/+6
* Replace SplitKit SSA update with an iterative algorithm very similar to the oneJakob Stoklund Olesen2010-10-281-1/+23
* Make MachineDominators available for SplitEditor. We are going to need it forJakob Stoklund Olesen2010-10-281-2/+6
* Handle critical loop predecessors by making both inside and outside registersJakob Stoklund Olesen2010-10-271-1/+5
* Compute critical loop predecessors in the same way as critical loop exits.Jakob Stoklund Olesen2010-10-271-0/+5
* This is a prototype of an experimental register allocationAndrew Trick2010-10-221-1/+1
* Add print methodsJakob Stoklund Olesen2010-10-221-0/+7
* Remove unused accessor.Jakob Stoklund Olesen2010-10-151-2/+0
* Eliminate curli from SplitEditor. Use the LiveRangeEdit reference instead.Jakob Stoklund Olesen2010-10-151-3/+0
* Create a new LiveRangeEdit class to keep track of the new registers created whenJakob Stoklund Olesen2010-10-141-13/+5
* Rename SplitEditor::rewrite to finish() and break it out into a couple of newJakob Stoklund Olesen2010-10-081-4/+11
* Remove SplitAnalysis::removeUse. It was only used to make SplitAnalysisJakob Stoklund Olesen2010-10-051-3/+0
* Update SplitEditor API to reflect the fact that the original live interval isJakob Stoklund Olesen2010-10-051-14/+8
* Don't use nextIndex to check for live out of instruction.Jakob Stoklund Olesen2010-10-051-5/+5
* Build the complement interval dupli after the split intervals instead ofJakob Stoklund Olesen2010-09-211-10/+27
* Use the value mapping provided by LiveIntervalMap. This simplifies the code aJakob Stoklund Olesen2010-09-161-20/+12
* Mechanically replace LiveInterval* with LiveIntervalMap for intervals beingJakob Stoklund Olesen2010-09-131-3/+5
* Allow LiveIntervalMap to be reused by resetting the current live interval.Jakob Stoklund Olesen2010-09-131-4/+9
* Thinking about it, we don't need MachineDominatorTree after all. The DomValueJakob Stoklund Olesen2010-08-181-4/+1
* Add the LiveIntervalMap class. Don't hook it up yet.Jakob Stoklund Olesen2010-08-181-0/+66
* Clean up the Spiller.h interface.Jakob Stoklund Olesen2010-08-131-2/+2
* Implement splitting inside a single block.Jakob Stoklund Olesen2010-08-131-1/+11
* Update the SplitAnalysis statistics as uses are moved from curli to the newJakob Stoklund Olesen2010-08-121-3/+7
* Implement single block splitting.Jakob Stoklund Olesen2010-08-121-5/+21
* Recalculate the spill weight and allocation hint for virtual registers createdJakob Stoklund Olesen2010-08-101-0/+2
* Lazily defer duplicating the live interval we are splitting until we know it isJakob Stoklund Olesen2010-08-061-14/+21
* Checkpoint SplitKit progress.Jakob Stoklund Olesen2010-08-041-29/+46
* Add SplitEditor to SplitKit. This class will be used to edit live intervals andJakob Stoklund Olesen2010-07-261-6/+88
* Change the createSpiller interface to take a MachineFunctionPass argument.Jakob Stoklund Olesen2010-07-201-2/+2
* Implement loop splitting analysis.Jakob Stoklund Olesen2010-07-201-1/+35
* Appease the colonials.Jakob Stoklund Olesen2010-07-201-1/+1
* Beginning SplitKit - utility classes for live range splitting.Jakob Stoklund Olesen2010-07-201-0/+86