aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/SplitKit.cpp
Commit message (Expand)AuthorAgeFilesLines
* Add LiveIntervalMap::dumpCache() to print out the cache used by the ssa updat...Jakob Stoklund Olesen2011-01-201-0/+21
* Implement RAGreedy::splitAroundRegion and remove loop splitting.Jakob Stoklund Olesen2011-01-191-3/+3
* Add RAGreedy methods for splitting live ranges around regions.Jakob Stoklund Olesen2011-01-181-0/+3
* Turn the EdgeBundles class into a stand-alone machine CFG analysis pass.Jakob Stoklund Olesen2011-01-041-51/+0
* Include a shadow of the original CFG edges in the edge bundle graph.Jakob Stoklund Olesen2010-12-221-0/+4
* Add EdgeBundles to SplitKit.Jakob Stoklund Olesen2010-12-211-0/+47
* Check that the register is live-in to the loop header before inserting copies inJakob Stoklund Olesen2010-12-181-5/+7
* Fix build.Jakob Stoklund Olesen2010-12-151-1/+1
* Detect and enumerate bypass loops.Jakob Stoklund Olesen2010-12-151-0/+30
* Separate SplitAnalysis::getSplitLoops().Jakob Stoklund Olesen2010-12-151-7/+10
* No need to add liveness that's already there.Jakob Stoklund Olesen2010-11-101-4/+1
* Basic rematerialization during splitting.Jakob Stoklund Olesen2010-11-101-30/+56
* Tag debug output as regallocJakob Stoklund Olesen2010-11-031-1/+1
* When inserting copies during splitting, always use the parent register as theJakob Stoklund Olesen2010-11-011-13/+10
* Update kill flags while rewriting instructions after splitting.Jakob Stoklund Olesen2010-11-011-0/+3
* Make sure copies are inserted after any exception handling labels at the top ofJakob Stoklund Olesen2010-10-301-1/+1
* Don't transfer unused values to the new intervals formed by splitting.Jakob Stoklund Olesen2010-10-291-0/+3
* Silence Release build warnings.Benjamin Kramer2010-10-291-4/+3
* Never propagate the idom value out of a block that defines its own value.Jakob Stoklund Olesen2010-10-291-3/+7
* Replace SplitKit SSA update with an iterative algorithm very similar to the oneJakob Stoklund Olesen2010-10-281-87/+158
* Make MachineDominators available for SplitEditor. We are going to need it forJakob Stoklund Olesen2010-10-281-3/+7
* Handle critical loop predecessors by making both inside and outside registersJakob Stoklund Olesen2010-10-271-1/+14
* Compute critical loop predecessors in the same way as critical loop exits.Jakob Stoklund Olesen2010-10-271-1/+33
* After splitting, compute connected components of all new registers, not just forJakob Stoklund Olesen2010-10-261-17/+18
* Call RenumberValues for all new registers created during splitting. This isJakob Stoklund Olesen2010-10-261-1/+2
* Preserve PHIDef bits in cloned values during splitting.Jakob Stoklund Olesen2010-10-261-0/+4
* Be more strict about detecting multi-use blocks for isolation.Jakob Stoklund Olesen2010-10-221-28/+29
* Be more strict when detecting critical edges before loop splitting.Jakob Stoklund Olesen2010-10-221-19/+15
* Add print methodsJakob Stoklund Olesen2010-10-221-18/+25
* Don't include the destination interval in the union when computingJakob Stoklund Olesen2010-10-211-2/+4
* Eliminate curli from SplitEditor. Use the LiveRangeEdit reference instead.Jakob Stoklund Olesen2010-10-151-15/+13
* Move stack slot assignments into LiveRangeEdit.Jakob Stoklund Olesen2010-10-151-6/+0
* Create a new LiveRangeEdit class to keep track of the new registers created whenJakob Stoklund Olesen2010-10-141-32/+21
* Only split around a loop if the live range has uses outside the loop periphery.Jakob Stoklund Olesen2010-10-141-14/+13
* Rename SplitEditor::rewrite to finish() and break it out into a couple of newJakob Stoklund Olesen2010-10-081-36/+45
* After splitting, the remaining LiveInterval may be fragmented into multipleJakob Stoklund Olesen2010-10-071-11/+24
* Print more loop info.Jakob Stoklund Olesen2010-10-071-0/+16
* Print out MBB number when rewriting.Jakob Stoklund Olesen2010-10-071-1/+2
* Cache interval iterators in SplitEditor::addTruncSimpleRange so we only have toJakob Stoklund Olesen2010-10-071-10/+20
* Clean up debug printing.Jakob Stoklund Olesen2010-10-071-15/+19
* Count uses in all nested loops, not just the deepest.Jakob Stoklund Olesen2010-10-051-1/+2
* Remove SplitAnalysis::removeUse. It was only used to make SplitAnalysisJakob Stoklund Olesen2010-10-051-29/+0
* dupli always has an interval now.Jakob Stoklund Olesen2010-10-051-14/+11
* We can split around loops with multiple exits now.Jakob Stoklund Olesen2010-10-051-6/+0
* Update SplitEditor API to reflect the fact that the original live interval isJakob Stoklund Olesen2010-10-051-13/+9
* Intervals are half-open.Jakob Stoklund Olesen2010-10-051-1/+1
* When we find a reaching definition, make sure it is visited from all paths byJakob Stoklund Olesen2010-10-051-5/+12
* Don't use nextIndex to check for live out of instruction.Jakob Stoklund Olesen2010-10-051-12/+8
* Removed VNInfo::isDefAccurate(). Def "accuracy" can be checked by testing whe...Lang Hames2010-09-251-2/+2
* Build the complement interval dupli after the split intervals instead ofJakob Stoklund Olesen2010-09-211-25/+118