summaryrefslogtreecommitdiffstats
path: root/llvm/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
commitb0cedd5f96b4c3377e65c347c129bf19567c49bc (patch)
tree87a1f0ad9fa7a5c9d1780e766bdaa711eb96c458 /llvm/lib/CodeGen/SplitKit.h
parentc1526595b3a8144f1283404b8738c0c7940659f6 (diff)
downloadbcm5719-llvm-b0cedd5f96b4c3377e65c347c129bf19567c49bc.tar.gz
bcm5719-llvm-b0cedd5f96b4c3377e65c347c129bf19567c49bc.zip
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. llvm-svn: 115665
Diffstat (limited to 'llvm/lib/CodeGen/SplitKit.h')
-rw-r--r--llvm/lib/CodeGen/SplitKit.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/llvm/lib/CodeGen/SplitKit.h b/llvm/lib/CodeGen/SplitKit.h
index 3e6776868d2..ebc783d79b9 100644
--- a/llvm/lib/CodeGen/SplitKit.h
+++ b/llvm/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 {
OpenPOWER on IntegriCloud