diff options
| author | Keno Fischer <kfischer@college.harvard.edu> | 2015-12-22 07:14:50 +0000 |
|---|---|---|
| committer | Keno Fischer <kfischer@college.harvard.edu> | 2015-12-22 07:14:50 +0000 |
| commit | 4eccf11373470605f6abf160d82aaa6b3a24da89 (patch) | |
| tree | fd87f1846fb7f9f6817dacf6c913d5c690aea8db /llvm/lib/CodeGen | |
| parent | 49062a51b444ecf222013eebfee29ad2a5d21609 (diff) | |
| download | bcm5719-llvm-4eccf11373470605f6abf160d82aaa6b3a24da89.tar.gz bcm5719-llvm-4eccf11373470605f6abf160d82aaa6b3a24da89.zip | |
[ASMPrinter] Fix missing handling of DW_OP_bit_piece
In r256077, I added printing for DIExpressions in DEBUG_VALUE comments,
but neglected to handle DW_OP_bit_piece operands. Thanks to
Mikael Holmen and Joerg Sonnenberger for spotting this.
llvm-svn: 256236
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp index 9132b8e1523..73149441935 100644 --- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp @@ -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) |

