Revert "[DebugInfo] Fix bug in LiveDebugVariables."

This reverts commit 8f548ff2a1819e1bc051e8218584f1a3d2cf178a.

buildbot failure in LLVM on clang-ppc64be-linux
http://lab.llvm.org:8011/builders/clang-ppc64le-linux/builds/19765

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@341290 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Hsiangkai Wang
2018-09-02 16:35:42 +00:00
parent 27ea31c8ee
commit e39c39b6ec
3 changed files with 5 additions and 63 deletions
+5 -10
View File
@@ -578,28 +578,23 @@ bool LDVImpl::collectDebugValues(MachineFunction &mf) {
MachineBasicBlock *MBB = &*MFI;
for (MachineBasicBlock::iterator MBBI = MBB->begin(), MBBE = MBB->end();
MBBI != MBBE;) {
// Use the first debug instruction in the sequence to get a SlotIndex
// for following consecutive debug instructions.
if (!MBBI->isDebugInstr()) {
if (!MBBI->isDebugValue()) {
++MBBI;
continue;
}
// Debug instructions has no slot index. Use the previous
// non-debug instruction's SlotIndex as its SlotIndex.
// DBG_VALUE has no slot index, use the previous instruction instead.
SlotIndex Idx =
MBBI == MBB->begin()
? LIS->getMBBStartIdx(MBB)
: LIS->getInstructionIndex(*std::prev(MBBI)).getRegSlot();
// Handle consecutive debug instructions with the same slot index.
// Handle consecutive DBG_VALUE instructions with the same slot index.
do {
// Only handle DBG_VALUE in handleDebugValue(). Skip all other
// kinds of debug instructions.
if (MBBI->isDebugValue() && handleDebugValue(*MBBI, Idx)) {
if (handleDebugValue(*MBBI, Idx)) {
MBBI = MBB->erase(MBBI);
Changed = true;
} else
++MBBI;
} while (MBBI != MBBE && MBBI->isDebugInstr());
} while (MBBI != MBBE && MBBI->isDebugValue());
}
}
return Changed;