summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorKeno Fischer <kfischer@college.harvard.edu>2015-12-22 07:14:50 +0000
committerKeno Fischer <kfischer@college.harvard.edu>2015-12-22 07:14:50 +0000
commit4eccf11373470605f6abf160d82aaa6b3a24da89 (patch)
treefd87f1846fb7f9f6817dacf6c913d5c690aea8db /llvm/lib/CodeGen
parent49062a51b444ecf222013eebfee29ad2a5d21609 (diff)
downloadbcm5719-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.cpp3
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)
OpenPOWER on IntegriCloud