From 7199fd532c5155be153605e49c92ff8a804d01c7 Mon Sep 17 00:00:00 2001 From: Adrian Prantl Date: Wed, 12 Feb 2014 19:34:44 +0000 Subject: Debug info: Bugfix for r201190: DW_OP_piece takes bytes, not bits. rdar://problem/16015314 llvm-svn: 201253 --- llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp') diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp index a6bae16b694..68a346887a4 100644 --- a/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp @@ -470,8 +470,9 @@ void DwarfUnit::addRegisterOp(DIEBlock *TheDie, unsigned Reg) { addUInt(TheDie, dwarf::DW_FORM_data1, Size); addUInt(TheDie, dwarf::DW_FORM_data1, Offset); } else { + unsigned ByteSize = Size / 8; // Assuming 8 bits per byte. addUInt(TheDie, dwarf::DW_FORM_data1, dwarf::DW_OP_piece); - addUInt(TheDie, dwarf::DW_FORM_data1, Size); + addUInt(TheDie, dwarf::DW_FORM_data1, ByteSize); } } } -- cgit v1.2.3