diff --git a/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp b/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp --- a/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp +++ b/llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp @@ -307,6 +307,9 @@ return true; if (MO.isReg()) { Register R = MO.getReg(); + // Debug instructions may refer to $noreg. + if (!R) + continue; // Virtual registers will need scavenging, which then may require // a stack slot. if (R.isVirtual())