summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/lib/IR/DebugInfo.cpp3
-rw-r--r--llvm/test/DebugInfo/X86/block-capture.ll2
-rw-r--r--llvm/test/DebugInfo/X86/op_deref.ll3
3 files changed, 7 insertions, 1 deletions
diff --git a/llvm/lib/IR/DebugInfo.cpp b/llvm/lib/IR/DebugInfo.cpp
index bf3bb8adb0a..c6e4c872c1b 100644
--- a/llvm/lib/IR/DebugInfo.cpp
+++ b/llvm/lib/IR/DebugInfo.cpp
@@ -1415,6 +1415,9 @@ void DIExpression::printInternal(raw_ostream &OS) const {
OS << " offset=" << Offset << ", size=" << Size;
break;
}
+ case DW_OP_deref:
+ // No arguments.
+ break;
default:
// Else bail out early. This may be a line table entry.
OS << "Unknown]";
diff --git a/llvm/test/DebugInfo/X86/block-capture.ll b/llvm/test/DebugInfo/X86/block-capture.ll
index 04a50639ae2..b04fa29b884 100644
--- a/llvm/test/DebugInfo/X86/block-capture.ll
+++ b/llvm/test/DebugInfo/X86/block-capture.ll
@@ -124,7 +124,7 @@ attributes #3 = { nounwind }
!66 = metadata !{i32 2, i32 20, metadata !8, null}
!67 = metadata !{i32 2, i32 21, metadata !8, null}
!68 = metadata !{metadata !"0x100\00block\002\000", metadata !8, metadata !5, metadata !25} ; [ DW_TAG_auto_variable ] [block] [line 2]
-!69 = metadata !{metadata !"0x102\006\0034\0032"} ; [ DW_TAG_expression ] [DW_OP_derefUnknown]
+!69 = metadata !{metadata !"0x102\006\0034\0032"} ; [ DW_TAG_expression ] [DW_OP_deref]
!70 = metadata !{i32 2, i32 9, metadata !8, null}
!71 = metadata !{i32 2, i32 23, metadata !72, null}
!72 = metadata !{metadata !"0xb\002\0021\000", metadata !1, metadata !8} ; [ DW_TAG_lexical_block ] [/foo.m]
diff --git a/llvm/test/DebugInfo/X86/op_deref.ll b/llvm/test/DebugInfo/X86/op_deref.ll
index 18c4fc15da7..ac90448012a 100644
--- a/llvm/test/DebugInfo/X86/op_deref.ll
+++ b/llvm/test/DebugInfo/X86/op_deref.ll
@@ -23,6 +23,9 @@
; ASM-CHECK: DEBUG_VALUE: vla <- RCX
; ASM-CHECK: DW_OP_breg2
+; RUN: llvm-as %s -o - | llvm-dis - | FileCheck %s --check-prefix=PRETTY-PRINT
+; PRETTY-PRINT: [ DW_TAG_expression ] [DW_OP_deref]
+
define void @testVLAwithSize(i32 %s) nounwind uwtable ssp {
entry:
%s.addr = alloca i32, align 4
OpenPOWER on IntegriCloud