diff options
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/Assembler/invalid-mdexpression-large.ll | 7 | ||||
| -rw-r--r-- | llvm/test/Assembler/invalid-mdexpression-verify.ll | 9 | ||||
| -rw-r--r-- | llvm/test/Assembler/mdexpression.ll | 16 |
3 files changed, 32 insertions, 0 deletions
diff --git a/llvm/test/Assembler/invalid-mdexpression-large.ll b/llvm/test/Assembler/invalid-mdexpression-large.ll new file mode 100644 index 00000000000..43b8ce0c9ef --- /dev/null +++ b/llvm/test/Assembler/invalid-mdexpression-large.ll @@ -0,0 +1,7 @@ +; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s + +; CHECK-NOT: error +!0 = !MDExpression(18446744073709551615) + +; CHECK: <stdin>:[[@LINE+1]]:20: error: element too large, limit is 18446744073709551615 +!1 = !MDExpression(18446744073709551616) diff --git a/llvm/test/Assembler/invalid-mdexpression-verify.ll b/llvm/test/Assembler/invalid-mdexpression-verify.ll new file mode 100644 index 00000000000..e573ef32155 --- /dev/null +++ b/llvm/test/Assembler/invalid-mdexpression-verify.ll @@ -0,0 +1,9 @@ +; 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} +!named = !{!0} + +; NOVERIFY: !0 = !MDExpression(0, 1, 9, 7, 2) +; VERIFY: assembly parsed, but does not verify +!0 = !MDExpression(0, 1, 9, 7, 2) diff --git a/llvm/test/Assembler/mdexpression.ll b/llvm/test/Assembler/mdexpression.ll new file mode 100644 index 00000000000..42bbfe02d67 --- /dev/null +++ b/llvm/test/Assembler/mdexpression.ll @@ -0,0 +1,16 @@ +; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s +; RUN: verify-uselistorder %s + +; CHECK: !named = !{!0, !1, !2, !3, !4} +!named = !{!0, !1, !2, !3, !4} + +; CHECK: !0 = !MDExpression() +; CHECK-NEXT: !1 = !MDExpression(DW_OP_deref) +; CHECK-NEXT: !2 = !MDExpression(DW_OP_plus, 3) +; CHECK-NEXT: !3 = !MDExpression(DW_OP_bit_piece, 3, 7) +; CHECK-NEXT: !4 = !MDExpression(DW_OP_deref, DW_OP_plus, 3, DW_OP_bit_piece, 3, 7) +!0 = !MDExpression() +!1 = !MDExpression(DW_OP_deref) +!2 = !MDExpression(DW_OP_plus, 3) +!3 = !MDExpression(DW_OP_bit_piece, 3, 7) +!4 = !MDExpression(DW_OP_deref, DW_OP_plus, 3, DW_OP_bit_piece, 3, 7) |

