diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-10-05 22:19:33 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-10-05 22:19:33 +0000 |
commit | 57d0f2deb0afefe69770a28937a4363e7b1f9753 (patch) | |
tree | 9dd691b0e7d9524889d981e0db0778189eacf15c /lib/CodeGen/SplitKit.h | |
parent | dbc36091ff7be76d22105b67db73e18224bebb2f (diff) | |
download | llvm-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.h | 22 |
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 *); }; } |