diff options
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/CodeGen/X86/commandline-metadata.ll | 13 | ||||
-rw-r--r-- | llvm/test/Linker/Inputs/commandline.a.ll | 3 | ||||
-rw-r--r-- | llvm/test/Linker/Inputs/commandline.b.ll | 2 | ||||
-rw-r--r-- | llvm/test/Linker/commandline.ll | 8 | ||||
-rw-r--r-- | llvm/test/Verifier/commandline-meta1.ll | 10 | ||||
-rw-r--r-- | llvm/test/Verifier/commandline-meta2.ll | 10 | ||||
-rw-r--r-- | llvm/test/Verifier/commandline-meta3.ll | 10 | ||||
-rw-r--r-- | llvm/test/Verifier/commandline-meta4.ll | 9 |
8 files changed, 65 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/commandline-metadata.ll b/llvm/test/CodeGen/X86/commandline-metadata.ll new file mode 100644 index 00000000000..de77dd27b16 --- /dev/null +++ b/llvm/test/CodeGen/X86/commandline-metadata.ll @@ -0,0 +1,13 @@ +; RUN: llc -mtriple=x86_64-linux < %s | FileCheck %s +; Verify that llvm.commandline metadata is emitted to a section named +; .GCC.command.line with each line separated with null bytes. + +; CHECK: .section .GCC.command.line,"MS",@progbits,1 +; CHECK-NEXT: .zero 1 +; CHECK-NEXT: .ascii "clang -command -line" +; CHECK-NEXT: .zero 1 +; CHECK-NEXT: .ascii "something else" +; CHECK-NEXT: .zero 1 +!llvm.commandline = !{!0, !1} +!0 = !{!"clang -command -line"} +!1 = !{!"something else"} diff --git a/llvm/test/Linker/Inputs/commandline.a.ll b/llvm/test/Linker/Inputs/commandline.a.ll new file mode 100644 index 00000000000..445ee74301e --- /dev/null +++ b/llvm/test/Linker/Inputs/commandline.a.ll @@ -0,0 +1,3 @@ +!llvm.commandline = !{!0, !1} +!0 = !{!"compiler -v1"} +!1 = !{!"compiler -v2"} diff --git a/llvm/test/Linker/Inputs/commandline.b.ll b/llvm/test/Linker/Inputs/commandline.b.ll new file mode 100644 index 00000000000..16011fc4055 --- /dev/null +++ b/llvm/test/Linker/Inputs/commandline.b.ll @@ -0,0 +1,2 @@ +!llvm.commandline = !{!0} +!0 = !{!"compiler -v3"} diff --git a/llvm/test/Linker/commandline.ll b/llvm/test/Linker/commandline.ll new file mode 100644 index 00000000000..ba201c82be9 --- /dev/null +++ b/llvm/test/Linker/commandline.ll @@ -0,0 +1,8 @@ +; RUN: llvm-link %S/Inputs/commandline.a.ll %S/Inputs/commandline.b.ll -S | FileCheck %s + +; Verify that multiple input llvm.commandline metadata are linked together. + +; CHECK-DAG: !llvm.commandline = !{!0, !1, !2} +; CHECK-DAG: !{{[0-2]}} = !{!"compiler -v1"} +; CHECK-DAG: !{{[0-2]}} = !{!"compiler -v2"} +; CHECK-DAG: !{{[0-2]}} = !{!"compiler -v3"} diff --git a/llvm/test/Verifier/commandline-meta1.ll b/llvm/test/Verifier/commandline-meta1.ll new file mode 100644 index 00000000000..5c39bbdde6d --- /dev/null +++ b/llvm/test/Verifier/commandline-meta1.ll @@ -0,0 +1,10 @@ +; RUN: not llvm-as < %s -o /dev/null 2>&1 | FileCheck %s +; Verify that llvm.commandline is properly structured. +; llvm.commandline takes a list of metadata entries. +; Each metadata entry can have only one string. + +!llvm.commandline = !{!0} +!0 = !{!"string1", !"string2"} +; CHECK: assembly parsed, but does not verify as correct! +; CHECK-NEXT: incorrect number of operands in llvm.commandline metadata +; CHECK-NEXT: !0 diff --git a/llvm/test/Verifier/commandline-meta2.ll b/llvm/test/Verifier/commandline-meta2.ll new file mode 100644 index 00000000000..46eeb8cdf4e --- /dev/null +++ b/llvm/test/Verifier/commandline-meta2.ll @@ -0,0 +1,10 @@ +; RUN: not llvm-as < %s -o /dev/null 2>&1 | FileCheck %s +; Verify that llvm.commandline is properly structured. +; llvm.commandline takes a list of metadata entries. +; Each metadata entry can contain one string only. + +!llvm.commandline = !{!0} +!0 = !{i32 1} +; CHECK: assembly parsed, but does not verify as correct! +; CHECK-NEXT: invalid value for llvm.commandline metadata entry operand(the operand should be a string) +; CHECK-NEXT: i32 1 diff --git a/llvm/test/Verifier/commandline-meta3.ll b/llvm/test/Verifier/commandline-meta3.ll new file mode 100644 index 00000000000..f27f7ca5650 --- /dev/null +++ b/llvm/test/Verifier/commandline-meta3.ll @@ -0,0 +1,10 @@ +; RUN: not llvm-as < %s -o /dev/null 2>&1 | FileCheck %s +; Verify that llvm.commandline is properly structured. +; llvm.commandline takes a list of metadata entries. +; Each metadata entry can contain one string only. + +!llvm.commandline = !{!0} +!0 = !{!{!"nested metadata"}} +; CHECK: assembly parsed, but does not verify as correct! +; CHECK-NEXT: invalid value for llvm.commandline metadata entry operand(the operand should be a string) +; CHECK-NEXT: !1 diff --git a/llvm/test/Verifier/commandline-meta4.ll b/llvm/test/Verifier/commandline-meta4.ll new file mode 100644 index 00000000000..b0d103c4b23 --- /dev/null +++ b/llvm/test/Verifier/commandline-meta4.ll @@ -0,0 +1,9 @@ +; RUN: not llvm-as < %s -o /dev/null 2>&1 | FileCheck %s +; Verify that llvm.commandline is properly structured. +; llvm.commandline takes a list of metadata entries. +; Each metadata entry can contain one string only. + +!llvm.commandline = !{!0} +!0 = !{null} +; CHECK: assembly parsed, but does not verify as correct! +; CHECK-NEXT: invalid value for llvm.commandline metadata entry operand(the operand should be a string) |