aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/SplitKit.cpp
AgeCommit message (Expand)AuthorFilesLines
2011-05-05Add some statistics to the splitting and spilling frameworks.Jakob Stoklund Olesen1-0/+4
2011-05-03Gracefully handle invalid live ranges. Fix PR9831.Jakob Stoklund Olesen1-0/+2
2011-05-02Minimize the slot indexes spanned by register ranges created when splitting.Jakob Stoklund Olesen1-2/+7
2011-04-26Add a safe-guard against repeated splitting for some rare cases.Jakob Stoklund Olesen1-0/+23
2011-04-21Don't recycle loop variables.Matt Beaumont-Gay1-1/+1
2011-04-21Allow allocatable ranges from global live range splitting to be split again.Jakob Stoklund Olesen1-1/+13
2011-04-16Unbreak the MSVC 2010 build.Francois Pichet1-1/+2
2011-04-15Teach the SplitKit blitter to handle multiply defined values as well.Jakob Stoklund Olesen1-85/+183
2011-04-13Stop using dead function.Jakob Stoklund Olesen1-11/+0
2011-04-12Create new intervals for isolated blocks during region splitting.Jakob Stoklund Olesen1-16/+18
2011-04-12Add SplitKit API to query and select the current interval being worked on.Jakob Stoklund Olesen1-1/+8
2011-04-09Build the Hopfield network incrementally when splitting global live ranges.Jakob Stoklund Olesen1-4/+7
2011-04-06Analyze blocks with uses separately from live-through blocks without uses.Jakob Stoklund Olesen1-16/+22
2011-04-05Sign errorJakob Stoklund Olesen1-1/+1
2011-04-05Don't crash when a value is defined after the last split point.Jakob Stoklund Olesen1-1/+2
2011-04-05Use std::unique instead of a SmallPtrSet to ensure unique instructions in Use...Jakob Stoklund Olesen1-38/+26
2011-04-05Stop precomputing last split points, query the SplitAnalysis cache on demand.Jakob Stoklund Olesen1-9/+4
2011-04-05Cache the fairly expensive last split point computation and provide a fastJakob Stoklund Olesen1-10/+36
2011-04-04Stop caching basic block index ranges now that SlotIndexes can keep up.Jakob Stoklund Olesen1-10/+11
2011-03-29Recompute register class and hint for registers created during spilling.Jakob Stoklund Olesen1-9/+1
2011-03-29Handle the special case when all uses follow the last split point.Jakob Stoklund Olesen1-1/+2
2011-03-27Amend debug output.Jakob Stoklund Olesen1-2/+3
2011-03-20Process all dead defs after rematerializing during splitting.Jakob Stoklund Olesen1-22/+15
2011-03-18Be more accurate about the slot index reading a register when dealing with defsJakob Stoklund Olesen1-4/+20
2011-03-17Dead code elimination may separate the live interval into multiple connected ...Jakob Stoklund Olesen1-4/+4
2011-03-17Rewrite instructions as part of ConnectedVNInfoEqClasses::Distribute.Jakob Stoklund Olesen1-24/+1
2011-03-15Preserve both isPHIDef and isDefByCopy bits when copying parent values.Jakob Stoklund Olesen1-5/+4
2011-03-08Delete dead code after rematerializing.Jakob Stoklund Olesen1-1/+37
2011-03-05Work around a coalescer bug.Jakob Stoklund Olesen1-3/+22
2011-03-04Tweak debug output. No functional changes.Jakob Stoklund Olesen1-9/+0
2011-03-04Use an IndexedMap instead of a DenseMap for the live-out cache.Jakob Stoklund Olesen1-47/+40
2011-03-03Cache basic block bounds instead of asking SlotIndexes::getMBBRange all the t...Jakob Stoklund Olesen1-11/+10
2011-03-03Change the SplitEditor interface to a single instance can be shared for multi...Jakob Stoklund Olesen1-4/+11
2011-03-03Only run the updateSSA loop when we have actually seen multiple values.Jakob Stoklund Olesen1-3/+23
2011-03-02Turn the Edit member into a pointer so it can change dynamically.Jakob Stoklund Olesen1-43/+43
2011-03-02Transfer simply defined values directly without recomputing liveness and SSA.Jakob Stoklund Olesen1-24/+66
2011-03-02Extract a method. No functional change.Jakob Stoklund Olesen1-27/+24
2011-03-02Move extendRange() into SplitEditor and delete the LiveRangeMap class.Jakob Stoklund Olesen1-176/+135
2011-03-02Rename mapValue to extendRange because that is its function now.Jakob Stoklund Olesen1-20/+9
2011-03-02Move LiveIntervalMap::extendTo into LiveInterval itself.Jakob Stoklund Olesen1-19/+5
2011-03-01Delete dead code.Jakob Stoklund Olesen1-59/+0
2011-03-01Move the value map from LiveIntervalMap to SplitEditor.Jakob Stoklund Olesen1-58/+61
2011-03-01Delete dead code.Jakob Stoklund Olesen1-69/+0
2011-02-23It is safe to ignore LastSplitPoint when the variable is not live out.Jakob Stoklund Olesen1-2/+2
2011-02-21Add SplitKit::isOriginalEndpoint and use it to force live range splitting to ...Jakob Stoklund Olesen1-0/+14
2011-02-19Give SplitAnalysis a VRM member to access VirtRegMap::getOriginal().Jakob Stoklund Olesen1-3/+4
2011-02-19Missed member rename for naming convention.Jakob Stoklund Olesen1-7/+7
2011-02-09Delete unused code for analyzing and splitting around loops.Jakob Stoklund Olesen1-315/+2
2011-02-09Use the LiveBLocks array for SplitEditor::splitSingleBlocks() as well.Jakob Stoklund Olesen1-44/+43
2011-02-09Move calcLiveBlockInfo() and the BlockInfo struct into SplitAnalysis.Jakob Stoklund Olesen1-0/+86