summaryrefslogtreecommitdiff
path: root/lib/CodeGen/SplitKit.h
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2010-10-05 22:19:33 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2010-10-05 22:19:33 +0000
commit57d0f2deb0afefe69770a28937a4363e7b1f9753 (patch)
tree9dd691b0e7d9524889d981e0db0778189eacf15c /lib/CodeGen/SplitKit.h
parentdbc36091ff7be76d22105b67db73e18224bebb2f (diff)
downloadllvm-57d0f2deb0afefe69770a28937a4363e7b1f9753.tar.gz
llvm-57d0f2deb0afefe69770a28937a4363e7b1f9753.tar.bz2
llvm-57d0f2deb0afefe69770a28937a4363e7b1f9753.tar.xz
Update SplitEditor API to reflect the fact that the original live interval is
never kept after splitting. Keeping the original interval made sense when the split region doesn't modify the register, and the original is spilled. We can get the same effect by detecting reloaded values when spilling around copies. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115695 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SplitKit.h')
-rw-r--r--lib/CodeGen/SplitKit.h22
1 files changed, 8 insertions, 14 deletions
diff --git a/lib/CodeGen/SplitKit.h b/lib/CodeGen/SplitKit.h
index ebc783d79b..a3488f75f0 100644
--- a/lib/CodeGen/SplitKit.h
+++ b/lib/CodeGen/SplitKit.h
@@ -312,26 +312,20 @@ public:
/// rewrite - after all the new live ranges have been created, rewrite
/// instructions using curli to use the new intervals.
- /// Return true if curli has been completely replaced, false if curli is still
- /// intact, and needs to be spilled or split further.
- bool rewrite();
+ void rewrite();
// ===--- High level methods ---===
/// splitAroundLoop - Split curli into a separate live interval inside
- /// the loop. Return true if curli has been completely replaced, false if
- /// curli is still intact, and needs to be spilled or split further.
- bool splitAroundLoop(const MachineLoop*);
+ /// the loop.
+ void splitAroundLoop(const MachineLoop*);
/// splitSingleBlocks - Split curli into a separate live interval inside each
- /// basic block in Blocks. Return true if curli has been completely replaced,
- /// false if curli is still intact, and needs to be spilled or split further.
- bool splitSingleBlocks(const SplitAnalysis::BlockPtrSet &Blocks);
-
- /// splitInsideBlock - Split curli into multiple intervals inside MBB. Return
- /// true if curli has been completely replaced, false if curli is still
- /// intact, and needs to be spilled or split further.
- bool splitInsideBlock(const MachineBasicBlock *);
+ /// basic block in Blocks.
+ void splitSingleBlocks(const SplitAnalysis::BlockPtrSet &Blocks);
+
+ /// splitInsideBlock - Split curli into multiple intervals inside MBB.
+ void splitInsideBlock(const MachineBasicBlock *);
};
}