diff --git a/llvm/lib/CodeGen/PrologEpilogInserter.cpp b/llvm/lib/CodeGen/PrologEpilogInserter.cpp --- a/llvm/lib/CodeGen/PrologEpilogInserter.cpp +++ b/llvm/lib/CodeGen/PrologEpilogInserter.cpp @@ -1229,7 +1229,11 @@ BitVector UsedRegs(TRI.getNumRegs()); if (OnlyUsed) for (const MachineBasicBlock &MBB : MF) - for (const MachineInstr &MI : MBB) + for (const MachineInstr &MI : MBB) { + // skip debug instructions + if (MI.isDebugInstr()) + continue; + for (const MachineOperand &MO : MI.operands()) { if (!MO.isReg()) continue; @@ -1239,6 +1243,7 @@ (MO.isDef() || MO.isUse())) UsedRegs.set(Reg); } + } // Get a list of registers that are used. BitVector LiveIns(TRI.getNumRegs());