diff options
Diffstat (limited to 'llvm/test/Assembler')
6 files changed, 37 insertions, 0 deletions
diff --git a/llvm/test/Assembler/debug-info.ll b/llvm/test/Assembler/debug-info.ll new file mode 100644 index 00000000000..e92606d2d80 --- /dev/null +++ b/llvm/test/Assembler/debug-info.ll @@ -0,0 +1,14 @@ +; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s +; RUN: verify-uselistorder %s + +; CHECK: !named = !{!0, !0, !1, !2} +!named = !{!0, !1, !2, !3} + +; CHECK: !0 = !MDSubrange(count: 3) +; CHECK-NEXT: !1 = !MDSubrange(count: 3, lowerBound: 4) +; CHECK-NEXT: !2 = !MDSubrange(count: 3, lowerBound: -5) +!0 = !MDSubrange(count: 3) +!1 = !MDSubrange(count: 3, lowerBound: 0) + +!2 = !MDSubrange(count: 3, lowerBound: 4) +!3 = !MDSubrange(count: 3, lowerBound: -5) diff --git a/llvm/test/Assembler/invalid-mdsubrange-count-large.ll b/llvm/test/Assembler/invalid-mdsubrange-count-large.ll new file mode 100644 index 00000000000..0d150aa9834 --- /dev/null +++ b/llvm/test/Assembler/invalid-mdsubrange-count-large.ll @@ -0,0 +1,7 @@ +; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s + +; CHECK-NOT: error +!0 = !MDSubrange(count: 9223372036854775807) + +; CHECK: <stdin>:[[@LINE+1]]:25: error: value for 'count' too large, limit is 9223372036854775807 +!1 = !MDSubrange(count: 9223372036854775808) diff --git a/llvm/test/Assembler/invalid-mdsubrange-count-missing.ll b/llvm/test/Assembler/invalid-mdsubrange-count-missing.ll new file mode 100644 index 00000000000..bf9cb9a5e3d --- /dev/null +++ b/llvm/test/Assembler/invalid-mdsubrange-count-missing.ll @@ -0,0 +1,4 @@ +; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s + +; CHECK: [[@LINE+1]]:32: error: missing required field 'count' +!0 = !MDSubrange(lowerBound: -3) diff --git a/llvm/test/Assembler/invalid-mdsubrange-count-negative.ll b/llvm/test/Assembler/invalid-mdsubrange-count-negative.ll new file mode 100644 index 00000000000..99cc8876750 --- /dev/null +++ b/llvm/test/Assembler/invalid-mdsubrange-count-negative.ll @@ -0,0 +1,4 @@ +; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s + +; CHECK: [[@LINE+1]]:25: error: expected unsigned integer +!0 = !MDSubrange(count: -3) diff --git a/llvm/test/Assembler/invalid-mdsubrange-lowerBound-max.ll b/llvm/test/Assembler/invalid-mdsubrange-lowerBound-max.ll new file mode 100644 index 00000000000..1c68e984b17 --- /dev/null +++ b/llvm/test/Assembler/invalid-mdsubrange-lowerBound-max.ll @@ -0,0 +1,4 @@ +; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s + +; CHECK: [[@LINE+1]]:41: error: value for 'lowerBound' too large, limit is 9223372036854775807 +!0 = !MDSubrange(count: 30, lowerBound: 9223372036854775808) diff --git a/llvm/test/Assembler/invalid-mdsubrange-lowerBound-min.ll b/llvm/test/Assembler/invalid-mdsubrange-lowerBound-min.ll new file mode 100644 index 00000000000..b3b2a03efd8 --- /dev/null +++ b/llvm/test/Assembler/invalid-mdsubrange-lowerBound-min.ll @@ -0,0 +1,4 @@ +; RUN: not llvm-as < %s -disable-output 2>&1 | FileCheck %s + +; CHECK: [[@LINE+1]]:41: error: value for 'lowerBound' too small, limit is -9223372036854775808 +!0 = !MDSubrange(count: 30, lowerBound: -9223372036854775809) |

