aboutsummaryrefslogtreecommitdiffstats
path: root/lib/CodeGen/SplitKit.cpp
Commit message (Expand)AuthorAgeFilesLines
* 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
* Use the value mapping provided by LiveIntervalMap. This simplifies the code aJakob Stoklund Olesen2010-09-161-205/+73
* Mechanically replace LiveInterval* with LiveIntervalMap for intervals beingJakob Stoklund Olesen2010-09-131-70/+72
* Allow LiveIntervalMap to be reused by resetting the current live interval.Jakob Stoklund Olesen2010-09-131-14/+24
* Let's just declare that it is impossible to construct a std::pair from a nullJakob Stoklund Olesen2010-09-131-22/+11
* Fix the msvc 2010 build.Michael J. Spencer2010-08-191-2/+19
* Thinking about it, we don't need MachineDominatorTree after all. The DomValueJakob Stoklund Olesen2010-08-181-15/+25
* Revert r111394. It was too aggressive.Jakob Stoklund Olesen2010-08-181-3/+3
* Aggressively prune the DFS when inserting phi-defs.Jakob Stoklund Olesen2010-08-181-3/+3
* Add the LiveIntervalMap class. Don't hook it up yet.Jakob Stoklund Olesen2010-08-181-1/+213
* Clean up the Spiller.h interface.Jakob Stoklund Olesen2010-08-131-1/+1
* Implement splitting inside a single block.Jakob Stoklund Olesen2010-08-131-0/+75
* Let LiveInterval::addRange extend existing ranges, it will verify that valueJakob Stoklund Olesen2010-08-131-5/+2
* Remember to actually update SplitAnalysis statistics now that we have a fancyJakob Stoklund Olesen2010-08-131-0/+1