summaryrefslogtreecommitdiff
path: root/lib/CodeGen/SplitKit.h
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2011-04-12 19:32:53 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2011-04-12 19:32:53 +0000
commitfd5c51342a429ecab86a645282d0b36b216c0256 (patch)
treebd5a3578e22fd96cf4fd203bfb8a658db3566e4d /lib/CodeGen/SplitKit.h
parent5d7dcd3335234d2a2bc16dc69f86fbb5dcaa8962 (diff)
downloadllvm-fd5c51342a429ecab86a645282d0b36b216c0256.tar.gz
llvm-fd5c51342a429ecab86a645282d0b36b216c0256.tar.bz2
llvm-fd5c51342a429ecab86a645282d0b36b216c0256.tar.xz
Create new intervals for isolated blocks during region splitting.
This merges the behavior of splitSingleBlocks into splitAroundRegion, so the RS_Region and RS_Block register stages can be coalesced. That means the leftover intervals after region splitting go directly to spilling instead of a second pass of per-block splitting. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129379 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SplitKit.h')
-rw-r--r--lib/CodeGen/SplitKit.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/CodeGen/SplitKit.h b/lib/CodeGen/SplitKit.h
index fab56f70d9..a387896a5d 100644
--- a/lib/CodeGen/SplitKit.h
+++ b/lib/CodeGen/SplitKit.h
@@ -347,6 +347,11 @@ public:
// ===--- High level methods ---===
+ /// splitSingleBlock - Split CurLI into a separate live interval around the
+ /// uses in a single block. This is intended to be used as part of a larger
+ /// split, and doesn't call finish().
+ void splitSingleBlock(const SplitAnalysis::BlockInfo &BI);
+
/// splitSingleBlocks - Split CurLI into a separate live interval inside each
/// basic block in Blocks.
void splitSingleBlocks(const SplitAnalysis::BlockPtrSet &Blocks);