summaryrefslogtreecommitdiffstats
path: root/llvm/test/Assembler
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2017-08-23 20:31:27 +0000
committerReid Kleckner <rnk@google.com>2017-08-23 20:31:27 +0000
commit6d353348e58105098363ed5be162a2f9c044d342 (patch)
tree8f67617b050d1287cf830706bc242c9c5ce4d0d8 /llvm/test/Assembler
parentc01994b5fe93542f7d3c62726c67635652c92df2 (diff)
downloadbcm5719-llvm-6d353348e58105098363ed5be162a2f9c044d342.tar.gz
bcm5719-llvm-6d353348e58105098363ed5be162a2f9c044d342.zip
Parse and print DIExpressions inline to ease IR and MIR testing
Summary: Most DIExpressions are empty or very simple. When they are complex, they tend to be unique, so checking them inline is reasonable. This also avoids the need for CodeGen passes to append to the llvm.dbg.mir named md node. See also PR22780, for making DIExpression not be an MDNode. Reviewers: aprantl, dexonsmith, dblaikie Subscribers: qcolombet, javed.absar, eraman, hiraditya, llvm-commits Differential Revision: https://reviews.llvm.org/D37075 llvm-svn: 311594
Diffstat (limited to 'llvm/test/Assembler')
-rw-r--r--llvm/test/Assembler/DIGlobalVariableExpression.ll5
-rw-r--r--llvm/test/Assembler/diexpression.ll17
-rw-r--r--llvm/test/Assembler/invalid-diexpression-verify.ll3
3 files changed, 12 insertions, 13 deletions
diff --git a/llvm/test/Assembler/DIGlobalVariableExpression.ll b/llvm/test/Assembler/DIGlobalVariableExpression.ll
index 19f3d1443bf..148b7eb6633 100644
--- a/llvm/test/Assembler/DIGlobalVariableExpression.ll
+++ b/llvm/test/Assembler/DIGlobalVariableExpression.ll
@@ -3,7 +3,7 @@
@foo = global i32 0
-; CHECK: !named = !{!0, !1, !2, !3, !4, !5, !6, !7}
+; CHECK: !named = !{!0, !1, !2, !3, !4, !5, !6, !DIExpression(DW_OP_constu, 42, DW_OP_stack_value)}
!named = !{!0, !1, !2, !3, !4, !5, !6, !7}
!0 = !DIFile(filename: "scope.h", directory: "/path/to/dir")
@@ -17,7 +17,6 @@
file: !2, line: 7, type: !3, isLocal: true,
isDefinition: false, align: 32)
-; CHECK: !6 = !DIGlobalVariableExpression(var: !5, expr: !7)
+; CHECK: !6 = !DIGlobalVariableExpression(var: !5, expr: !DIExpression(DW_OP_constu, 42, DW_OP_stack_value))
!6 = !DIGlobalVariableExpression(var: !5, expr: !7)
-; CHECK: !7 = !DIExpression(DW_OP_constu, 42, DW_OP_stack_value)
!7 = !DIExpression(DW_OP_constu, 42, DW_OP_stack_value)
diff --git a/llvm/test/Assembler/diexpression.ll b/llvm/test/Assembler/diexpression.ll
index 39f4be70145..b6d2cc2dc57 100644
--- a/llvm/test/Assembler/diexpression.ll
+++ b/llvm/test/Assembler/diexpression.ll
@@ -1,16 +1,17 @@
; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s
; RUN: verify-uselistorder %s
-; CHECK: !named = !{!0, !1, !2, !3, !4, !5, !6}
+; CHECK: !named = !{
+; CHECK-SAME: !DIExpression(),
+; CHECK-SAME: !DIExpression(DW_OP_deref),
+; CHECK-SAME: !DIExpression(DW_OP_constu, 3, DW_OP_plus),
+; CHECK-SAME: !DIExpression(DW_OP_LLVM_fragment, 3, 7),
+; CHECK-SAME: !DIExpression(DW_OP_deref, DW_OP_plus_uconst, 3, DW_OP_LLVM_fragment, 3, 7),
+; CHECK-SAME: !DIExpression(DW_OP_constu, 2, DW_OP_swap, DW_OP_xderef),
+; CHECK-SAME: !DIExpression(DW_OP_plus_uconst, 3)}
+
!named = !{!0, !1, !2, !3, !4, !5, !6}
-; CHECK: !0 = !DIExpression()
-; CHECK-NEXT: !1 = !DIExpression(DW_OP_deref)
-; CHECK-NEXT: !2 = !DIExpression(DW_OP_constu, 3, DW_OP_plus)
-; CHECK-NEXT: !3 = !DIExpression(DW_OP_LLVM_fragment, 3, 7)
-; CHECK-NEXT: !4 = !DIExpression(DW_OP_deref, DW_OP_plus_uconst, 3, DW_OP_LLVM_fragment, 3, 7)
-; CHECK-NEXT: !5 = !DIExpression(DW_OP_constu, 2, DW_OP_swap, DW_OP_xderef)
-; CHECK-NEXT: !6 = !DIExpression(DW_OP_plus_uconst, 3)
!0 = !DIExpression()
!1 = !DIExpression(DW_OP_deref)
!2 = !DIExpression(DW_OP_constu, 3, DW_OP_plus)
diff --git a/llvm/test/Assembler/invalid-diexpression-verify.ll b/llvm/test/Assembler/invalid-diexpression-verify.ll
index 50d6943dead..92c39ac7a6c 100644
--- a/llvm/test/Assembler/invalid-diexpression-verify.ll
+++ b/llvm/test/Assembler/invalid-diexpression-verify.ll
@@ -1,9 +1,8 @@
; RUN: not llvm-as -disable-output < %s 2>&1 | FileCheck -check-prefix VERIFY %s
; RUN: llvm-as -disable-verify < %s | llvm-dis | FileCheck -check-prefix NOVERIFY %s
-; NOVERIFY: !named = !{!0}
+; NOVERIFY: !named = !{!DIExpression(0, 1, 9, 7, 2)}
!named = !{!0}
-; NOVERIFY: !0 = !DIExpression(0, 1, 9, 7, 2)
; VERIFY: assembly parsed, but does not verify
!0 = !DIExpression(0, 1, 9, 7, 2)
OpenPOWER on IntegriCloud