Handle the special case when all uses follow the last split point.
authorJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 29 Mar 2011 03:12:04 +0000 (03:12 +0000)
committerJakob Stoklund Olesen <stoklund@2pi.dk>
Tue, 29 Mar 2011 03:12:04 +0000 (03:12 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128450 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/SplitKit.cpp

index a9ad731da6dc6a617cb3f8871a54c8a358752bc4..b89ff0c4fc8a4c35b7c40f8bd37fa02d9a81221b 100644 (file)
@@ -928,7 +928,8 @@ void SplitEditor::splitSingleBlocks(const SplitAnalysis::BlockPtrSet &Blocks) {
       continue;
 
     openIntv();
-    SlotIndex SegStart = enterIntvBefore(BI.FirstUse);
+    SlotIndex SegStart = enterIntvBefore(std::min(BI.FirstUse,
+                                                  BI.LastSplitPoint));
     if (!BI.LiveOut || BI.LastUse < BI.LastSplitPoint) {
       useIntv(SegStart, leaveIntvAfter(BI.LastUse));
     } else {