diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2021-11-19 20:06:13 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2021-11-19 20:06:13 +0000 |
commit | c0981da47d5696fe36474fcf86b4ce03ae3ff818 (patch) | |
tree | f42add1021b9f2ac6a69ac7cf6c4499962739a45 /llvm/lib/CodeGen/MachineStripDebug.cpp | |
parent | 344a3780b2e33f6ca763666c380202b18aab72a3 (diff) |
Diffstat (limited to 'llvm/lib/CodeGen/MachineStripDebug.cpp')
-rw-r--r-- | llvm/lib/CodeGen/MachineStripDebug.cpp | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/llvm/lib/CodeGen/MachineStripDebug.cpp b/llvm/lib/CodeGen/MachineStripDebug.cpp index a1cb12f91275..86cf4999d4b0 100644 --- a/llvm/lib/CodeGen/MachineStripDebug.cpp +++ b/llvm/lib/CodeGen/MachineStripDebug.cpp @@ -50,29 +50,26 @@ struct StripDebugMachineModule : public ModulePass { continue; MachineFunction &MF = *MaybeMF; for (MachineBasicBlock &MBB : MF) { - for (MachineBasicBlock::iterator I = MBB.begin(), E = MBB.end(); - I != E;) { - if (I->isDebugInstr()) { + for (MachineInstr &MI : llvm::make_early_inc_range(MBB)) { + if (MI.isDebugInstr()) { // FIXME: We should remove all of them. However, AArch64 emits an // invalid `DBG_VALUE $lr` with only one operand instead of // the usual three and has a test that depends on it's // preservation. Preserve it for now. - if (I->getNumOperands() > 1) { - LLVM_DEBUG(dbgs() << "Removing debug instruction " << *I); - I = MBB.erase(I); + if (MI.getNumOperands() > 1) { + LLVM_DEBUG(dbgs() << "Removing debug instruction " << MI); + MBB.erase(&MI); Changed |= true; continue; } } - if (I->getDebugLoc()) { - LLVM_DEBUG(dbgs() << "Removing location " << *I); - I->setDebugLoc(DebugLoc()); + if (MI.getDebugLoc()) { + LLVM_DEBUG(dbgs() << "Removing location " << MI); + MI.setDebugLoc(DebugLoc()); Changed |= true; - ++I; continue; } - LLVM_DEBUG(dbgs() << "Keeping " << *I); - ++I; + LLVM_DEBUG(dbgs() << "Keeping " << MI); } } } |