Skip to content
This repository was archived by the owner on Apr 23, 2020. It is now read-only.

Commit e9fd8c5

Browse files
committed
Revert "[DebugInfo][X86] Fix handling of DBG_VALUE's in post-RA scheduler."
This reverts commit r301309 which is causing buildbot assertion failures. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@301312 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent ac1a217 commit e9fd8c5

File tree

4 files changed

+8
-341
lines changed

4 files changed

+8
-341
lines changed

lib/CodeGen/AggressiveAntiDepBreaker.cpp

+4-2
Original file line numberDiff line numberDiff line change
@@ -964,8 +964,10 @@ unsigned AggressiveAntiDepBreaker::BreakAntiDependencies(
964964
// sure to update that as well.
965965
const SUnit *SU = MISUnitMap[Q.second.Operand->getParent()];
966966
if (!SU) continue;
967-
UpdateDbgValues(DbgValues, Q.second.Operand->getParent(),
968-
AntiDepReg, NewReg);
967+
for (DbgValueVector::iterator DVI = DbgValues.begin(),
968+
DVE = DbgValues.end(); DVI != DVE; ++DVI)
969+
if (DVI->second == Q.second.Operand->getParent())
970+
UpdateDbgValue(*DVI->first, AntiDepReg, NewReg);
969971
}
970972

971973
// We just went back in time and modified history; the

lib/CodeGen/AntiDepBreaker.h

-19
Original file line numberDiff line numberDiff line change
@@ -60,25 +60,6 @@ class LLVM_LIBRARY_VISIBILITY AntiDepBreaker {
6060
if (MI.getOperand(0).isReg() && MI.getOperand(0).getReg() == OldReg)
6161
MI.getOperand(0).setReg(NewReg);
6262
}
63-
64-
/// Update all DBG_VALUE instructions that may be affected by the dependency
65-
/// breaker's update of ParentMI to use NewReg.
66-
void UpdateDbgValues(const DbgValueVector &DbgValues, MachineInstr *ParentMI,
67-
unsigned OldReg, unsigned NewReg) {
68-
// The following code is dependent on the order in which the DbgValues are
69-
// constructed in ScheduleDAGInstrs::buildSchedGraph.
70-
MachineInstr *PrevDbgMI = nullptr;
71-
for (const auto &DV : make_range(DbgValues.crbegin(), DbgValues.crend())) {
72-
MachineInstr *PrevMI = DV.second;
73-
if ((PrevMI == ParentMI) || (PrevMI == PrevDbgMI)) {
74-
MachineInstr *DbgMI = DV.first;
75-
UpdateDbgValue(*DbgMI, OldReg, NewReg);
76-
PrevDbgMI = DbgMI;
77-
} else if (PrevDbgMI) {
78-
break; // If no match and already found a DBG_VALUE, we're done.
79-
}
80-
}
81-
}
8263
};
8364

8465
}

lib/CodeGen/CriticalAntiDepBreaker.cpp

+4-2
Original file line numberDiff line numberDiff line change
@@ -648,8 +648,10 @@ BreakAntiDependencies(const std::vector<SUnit>& SUnits,
648648
// as well.
649649
const SUnit *SU = MISUnitMap[Q->second->getParent()];
650650
if (!SU) continue;
651-
UpdateDbgValues(DbgValues, Q->second->getParent(),
652-
AntiDepReg, NewReg);
651+
for (DbgValueVector::iterator DVI = DbgValues.begin(),
652+
DVE = DbgValues.end(); DVI != DVE; ++DVI)
653+
if (DVI->second == Q->second->getParent())
654+
UpdateDbgValue(*DVI->first, AntiDepReg, NewReg);
653655
}
654656

655657
// We just went back in time and modified history; the

test/CodeGen/X86/post-ra-sched-with-debug.mir

-318
This file was deleted.

0 commit comments

Comments
 (0)