diff options
| author | Reid Kleckner <rnk@google.com> | 2017-08-23 20:31:27 +0000 |
|---|---|---|
| committer | Reid Kleckner <rnk@google.com> | 2017-08-23 20:31:27 +0000 |
| commit | 6d353348e58105098363ed5be162a2f9c044d342 (patch) | |
| tree | 8f67617b050d1287cf830706bc242c9c5ce4d0d8 /llvm/test/Assembler | |
| parent | c01994b5fe93542f7d3c62726c67635652c92df2 (diff) | |
| download | bcm5719-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.ll | 5 | ||||
| -rw-r--r-- | llvm/test/Assembler/diexpression.ll | 17 | ||||
| -rw-r--r-- | llvm/test/Assembler/invalid-diexpression-verify.ll | 3 |
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) |

