diff options
author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-10-05 20:36:25 +0000 |
---|---|---|
committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-10-05 20:36:25 +0000 |
commit | fc60d7729bb5b63b7d61e370e51bd05e9a18b8bc (patch) | |
tree | 4f888fcd501203f05e1c46fb89982c268b7ea0ff /lib/CodeGen/SplitKit.h | |
parent | 9c3aa4d4cd8227858fbb4b84c6ea88ff9da2ba99 (diff) | |
download | external_llvm-fc60d7729bb5b63b7d61e370e51bd05e9a18b8bc.zip external_llvm-fc60d7729bb5b63b7d61e370e51bd05e9a18b8bc.tar.gz external_llvm-fc60d7729bb5b63b7d61e370e51bd05e9a18b8bc.tar.bz2 |
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.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/CodeGen/SplitKit.h b/lib/CodeGen/SplitKit.h index 3e67768..ebc783d 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 { |