summaryrefslogtreecommitdiff
path: root/lib/CodeGen/LiveIntervalAnalysis.cpp
diff options
context:
space:
mode:
authorCameron Zwarich <zwarich@apple.com>2013-02-23 10:25:25 +0000
committerCameron Zwarich <zwarich@apple.com>2013-02-23 10:25:25 +0000
commit79f5ab1931e5abf6e9c304db25e50d592dd8f5b8 (patch)
treedf20c68664fd54ab88691488e0c19fca1a9f7d8b /lib/CodeGen/LiveIntervalAnalysis.cpp
parentb4bd022731b28a80f59818870cc7df5d4771d793 (diff)
downloadllvm-79f5ab1931e5abf6e9c304db25e50d592dd8f5b8.tar.gz
llvm-79f5ab1931e5abf6e9c304db25e50d592dd8f5b8.tar.bz2
llvm-79f5ab1931e5abf6e9c304db25e50d592dd8f5b8.tar.xz
Make some fixes for LiveInterval repair with debug info. Debug value
MachineInstrs don't have a slot index. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@175961 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/LiveIntervalAnalysis.cpp')
-rw-r--r--lib/CodeGen/LiveIntervalAnalysis.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/CodeGen/LiveIntervalAnalysis.cpp b/lib/CodeGen/LiveIntervalAnalysis.cpp
index a716e8bbab..22b35d5271 100644
--- a/lib/CodeGen/LiveIntervalAnalysis.cpp
+++ b/lib/CodeGen/LiveIntervalAnalysis.cpp
@@ -1056,6 +1056,8 @@ LiveIntervals::repairIntervalsInRange(MachineBasicBlock *MBB,
for (MachineBasicBlock::iterator I = End; I != Begin;) {
--I;
MachineInstr *MI = I;
+ if (MI->isDebugValue())
+ continue;
for (MachineInstr::const_mop_iterator MOI = MI->operands_begin(),
MOE = MI->operands_end(); MOI != MOE; ++MOI) {
if (MOI->isReg() &&
@@ -1087,8 +1089,10 @@ LiveIntervals::repairIntervalsInRange(MachineBasicBlock *MBB,
for (MachineBasicBlock::iterator I = End; I != Begin;) {
--I;
MachineInstr *MI = I;
- SlotIndex instrIdx = getInstructionIndex(MI);
+ if (MI->isDebugValue())
+ continue;
+ SlotIndex instrIdx = getInstructionIndex(MI);
bool isStartValid = getInstructionFromIndex(LII->start);
bool isEndValid = getInstructionFromIndex(LII->end);