[ASMPrinter] Fix missing handling of DW_OP_bit_piece
[oota-llvm.git] / lib / CodeGen / AsmPrinter / AsmPrinter.cpp
index 9132b8e15237473ed0e11e05a000cb7479120f8f..731494419350daa61e57817e641f5d973f52c37c 100644 (file)
@@ -787,6 +787,9 @@ static bool emitDebugValueComment(const MachineInstr *MI, AsmPrinter &AP) {
     if (Op == dwarf::DW_OP_deref) {
       Deref = true;
       continue;
+    } else if (Op == dwarf::DW_OP_bit_piece) {
+      // There can't be any operands after this in a valid expression
+      break;
     }
     uint64_t ExtraOffset = Expr->getElement(i++);
     if (Op == dwarf::DW_OP_plus)