[DebugInfo] Normalize common kinds of DWARF sub-expressions.
Normalize common kinds of DWARF sub-expressions to make debug info
encoding a bit more compact:
DW_OP_constu [X < 32] -> DW_OP_litX
DW_OP_constu [all ones] -> DW_OP_lit0, DW_OP_not (64-bit only)
Differential revision: https://reviews.llvm.org/D51640
llvm-svn: 341457
diff --git a/llvm/test/DebugInfo/X86/stack-value-dwarf4.ll b/llvm/test/DebugInfo/X86/stack-value-dwarf4.ll
index 7ad7cce..479625b 100644
--- a/llvm/test/DebugInfo/X86/stack-value-dwarf4.ll
+++ b/llvm/test/DebugInfo/X86/stack-value-dwarf4.ll
@@ -6,25 +6,23 @@
target datalayout = "e-p:64:64"
target triple = "x86_64-unknown-linux-gnu"
-; CHECK-DWARF2: .byte 8 # DW_AT_location
-; CHECK-DWARF2 .byte 16
-; CHECK-DWARF2 .byte 4
-; CHECK-DWARF2 .byte 147
-; CHECK-DWARF2 .byte 2
-; CHECK-DWARF2 .byte 16
-; CHECK-DWARF2 .byte 0
-; CHECK-DWARF2 .byte 147
-; CHECK-DWARF2 .byte 2
+; CHECK-DWARF2: .byte 6 # DW_AT_location
+; CHECK-DWARF2-NEXT: .byte 52
+; CHECK-DWARF2-NEXT: .byte 147
+; CHECK-DWARF2-NEXT: .byte 2
+; CHECK-DWARF2-NEXT: .byte 48
+; CHECK-DWARF2-NEXT: .byte 147
+; CHECK-DWARF2-NEXT: .byte 2
-; CHECK-DWARF4: .byte 10 # DW_AT_location
-; CHECK-DWARF4-NEXT: .byte 16
-; CHECK-DWARF4-NEXT: .byte 4
-; CHECK-DWARF4-NEXT: .byte 159
-; CHECK-DWARF4-NEXT: .byte 147
-; CHECK-DWARF4-NEXT: .byte 2
-; CHECK-DWARF4-NEXT: .byte 16
-; CHECK-DWARF4-NEXT: .byte 0
-; CHECK-DWARF4-NEXT: .byte 159
+; CHECK-DWARF4: .byte 8 # DW_AT_location
+; CHECK-DWARF4-NEXT:.byte 52
+; CHECK-DWARF4-NEXT:.byte 159
+; CHECK-DWARF4-NEXT:.byte 147
+; CHECK-DWARF4-NEXT:.byte 2
+; CHECK-DWARF4-NEXT:.byte 48
+; CHECK-DWARF4-NEXT:.byte 159
+; CHECK-DWARF4-NEXT:.byte 147
+; CHECK-DWARF4-NEXT:.byte 2
!0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, producer: "clang", file: !4, globals: !1, emissionKind: FullDebug)
!1 = !{!2, !10}