diff options
| author | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-10-21 18:47:08 +0000 |
|---|---|---|
| committer | Jakob Stoklund Olesen <stoklund@2pi.dk> | 2010-10-21 18:47:08 +0000 |
| commit | f4bbe50fc3d9904455900c1c3dd4330fa754c553 (patch) | |
| tree | 9f0a845f27438c03c2417408c8fe7a4389c47fa1 /llvm/lib/CodeGen/SplitKit.cpp | |
| parent | 7c9d584ebc1aef645aec42c8a5d83d8f97718f8b (diff) | |
| download | bcm5719-llvm-f4bbe50fc3d9904455900c1c3dd4330fa754c553.tar.gz bcm5719-llvm-f4bbe50fc3d9904455900c1c3dd4330fa754c553.zip | |
Don't include the destination interval in the union when computing
Parent - union(Y, ...). Doh.
llvm-svn: 117042
Diffstat (limited to 'llvm/lib/CodeGen/SplitKit.cpp')
| -rw-r--r-- | llvm/lib/CodeGen/SplitKit.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/llvm/lib/CodeGen/SplitKit.cpp b/llvm/lib/CodeGen/SplitKit.cpp index 278a91d97d2..88bf01800cf 100644 --- a/llvm/lib/CodeGen/SplitKit.cpp +++ b/llvm/lib/CodeGen/SplitKit.cpp @@ -740,10 +740,10 @@ void SplitEditor::rewrite(unsigned reg) { break; } } + DEBUG(dbgs() << " rewr BB#" << MI->getParent()->getNumber() << '\t'<< Idx); assert(LI && "No register was live at use"); MO.setReg(LI->reg); - DEBUG(dbgs() << " rewrite BB#" << MI->getParent()->getNumber() << '\t' - << Idx << '\t' << *MI); + DEBUG(dbgs() << '\t' << *MI); } } @@ -755,6 +755,8 @@ SplitEditor::addTruncSimpleRange(SlotIndex Start, SlotIndex End, VNInfo *VNI) { SmallVector<IIPair, 8> Iters; for (LiveRangeEdit::iterator LI = edit_.begin(), LE = edit_.end(); LI != LE; ++LI) { + if (*LI == dupli_.getLI()) + continue; LiveInterval::const_iterator I = (*LI)->find(Start); LiveInterval::const_iterator E = (*LI)->end(); if (I != E) |

