summaryrefslogtreecommitdiff
path: root/lib/CodeGen/SplitKit.h
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2010-10-05 20:36:25 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2010-10-05 20:36:25 +0000
commitfc60d7729bb5b63b7d61e370e51bd05e9a18b8bc (patch)
tree4f888fcd501203f05e1c46fb89982c268b7ea0ff /lib/CodeGen/SplitKit.h
parent9c3aa4d4cd8227858fbb4b84c6ea88ff9da2ba99 (diff)
downloadllvm-fc60d7729bb5b63b7d61e370e51bd05e9a18b8bc.tar.gz
llvm-fc60d7729bb5b63b7d61e370e51bd05e9a18b8bc.tar.bz2
llvm-fc60d7729bb5b63b7d61e370e51bd05e9a18b8bc.tar.xz
Don't use nextIndex to check for live out of instruction.
Insert copy after defining instruction. Fix LiveIntervalMap::extendTo to properly handle live segments starting before the current basic block. Make sure the open live range is extended to the inserted copy's use slot. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115665 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/SplitKit.h')
-rw-r--r--lib/CodeGen/SplitKit.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/CodeGen/SplitKit.h b/lib/CodeGen/SplitKit.h
index 3e6776868d..ebc783d79b 100644
--- a/lib/CodeGen/SplitKit.h
+++ b/lib/CodeGen/SplitKit.h
@@ -161,11 +161,6 @@ class LiveIntervalMap {
// values not present (unknown/unmapped).
ValueMap valueMap_;
- // extendTo - Find the last li_ value defined in MBB at or before Idx. The
- // parentli is assumed to be live at Idx. Extend the live range to include
- // Idx. Return the found VNInfo, or NULL.
- VNInfo *extendTo(MachineBasicBlock *MBB, SlotIndex Idx);
-
public:
LiveIntervalMap(LiveIntervals &lis,
const LiveInterval &parentli)
@@ -194,6 +189,11 @@ public:
/// mapped value.
VNInfo *mapValue(const VNInfo *ParentVNI, SlotIndex Idx, bool *simple = 0);
+ // extendTo - Find the last li_ value defined in MBB at or before Idx. The
+ // parentli is assumed to be live at Idx. Extend the live range to include
+ // Idx. Return the found VNInfo, or NULL.
+ VNInfo *extendTo(MachineBasicBlock *MBB, SlotIndex Idx);
+
/// isMapped - Return true is ParentVNI is a known mapped value. It may be a
/// simple 1-1 mapping or a complex mapping to later defs.
bool isMapped(const VNInfo *ParentVNI) const {