diff options
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/Linker/module-flags-1-a.ll | 16 | ||||
-rw-r--r-- | llvm/test/Linker/module-flags-1-b.ll | 8 | ||||
-rw-r--r-- | llvm/test/Linker/module-flags-2-a.ll | 10 | ||||
-rw-r--r-- | llvm/test/Linker/module-flags-2-b.ll | 6 | ||||
-rw-r--r-- | llvm/test/Linker/module-flags-3-a.ll | 14 | ||||
-rw-r--r-- | llvm/test/Linker/module-flags-3-b.ll | 8 | ||||
-rw-r--r-- | llvm/test/Linker/module-flags-4-a.ll | 10 | ||||
-rw-r--r-- | llvm/test/Linker/module-flags-4-b.ll | 8 | ||||
-rw-r--r-- | llvm/test/Linker/module-flags-5-a.ll | 9 | ||||
-rw-r--r-- | llvm/test/Linker/module-flags-5-b.ll | 6 | ||||
-rw-r--r-- | llvm/test/Linker/module-flags-6-a.ll | 9 | ||||
-rw-r--r-- | llvm/test/Linker/module-flags-6-b.ll | 6 |
12 files changed, 110 insertions, 0 deletions
diff --git a/llvm/test/Linker/module-flags-1-a.ll b/llvm/test/Linker/module-flags-1-a.ll new file mode 100644 index 00000000000..973aa80822c --- /dev/null +++ b/llvm/test/Linker/module-flags-1-a.ll @@ -0,0 +1,16 @@ +; RUN: llvm-link %s %p/module-flags-1-b.ll -S -o - | sort | FileCheck %s + +; Test basic functionality of module flags. + +; CHECK: !0 = metadata !{i32 1, metadata !"foo", i32 37} +; CHECK: !1 = metadata !{i32 1, metadata !"qux", i32 42} +; CHECK: !2 = metadata !{i32 1, metadata !"mux", metadata !3} +; CHECK: !3 = metadata !{metadata !"hello world", i32 927} +; CHECK: !4 = metadata !{i32 2, metadata !"bar", i32 42} +; CHECK: !llvm.module.flags = !{!0, !1, !2, !4} + +!0 = metadata !{ i32 1, metadata !"foo", i32 37 } +!1 = metadata !{ i32 2, metadata !"bar", i32 42 } +!2 = metadata !{ i32 1, metadata !"mux", metadata !{ metadata !"hello world", i32 927 } } + +!llvm.module.flags = !{ !0, !1, !2 } diff --git a/llvm/test/Linker/module-flags-1-b.ll b/llvm/test/Linker/module-flags-1-b.ll new file mode 100644 index 00000000000..bf3f5e55550 --- /dev/null +++ b/llvm/test/Linker/module-flags-1-b.ll @@ -0,0 +1,8 @@ +; This file is used with module-flags-1-a.ll +; RUN: true + +!0 = metadata !{ i32 1, metadata !"foo", i32 37 } +!1 = metadata !{ i32 1, metadata !"qux", i32 42 } +!2 = metadata !{ i32 1, metadata !"mux", metadata !{ metadata !"hello world", i32 927 } } + +!llvm.module.flags = !{ !0, !1, !2 } diff --git a/llvm/test/Linker/module-flags-2-a.ll b/llvm/test/Linker/module-flags-2-a.ll new file mode 100644 index 00000000000..3ae02889d16 --- /dev/null +++ b/llvm/test/Linker/module-flags-2-a.ll @@ -0,0 +1,10 @@ +; RUN: llvm-link %s %p/module-flags-2-b.ll -S -o - | sort | FileCheck %s + +; Test the 'override' behavior. + +; CHECK: !0 = metadata !{i32 4, metadata !"foo", i32 37} +; CHECK: !llvm.module.flags = !{!0} + +!0 = metadata !{ i32 1, metadata !"foo", i32 927 } + +!llvm.module.flags = !{ !0 } diff --git a/llvm/test/Linker/module-flags-2-b.ll b/llvm/test/Linker/module-flags-2-b.ll new file mode 100644 index 00000000000..ab55e4b997c --- /dev/null +++ b/llvm/test/Linker/module-flags-2-b.ll @@ -0,0 +1,6 @@ +; This file is used with module-flags-2-a.ll +; RUN: true + +!0 = metadata !{ i32 4, metadata !"foo", i32 37 } ; Override the "foo" value. + +!llvm.module.flags = !{ !0 } diff --git a/llvm/test/Linker/module-flags-3-a.ll b/llvm/test/Linker/module-flags-3-a.ll new file mode 100644 index 00000000000..4233a0a7a5b --- /dev/null +++ b/llvm/test/Linker/module-flags-3-a.ll @@ -0,0 +1,14 @@ +; RUN: llvm-link %s %p/module-flags-3-b.ll -S -o - | sort | FileCheck %s + +; Test 'require' behavior. + +; CHECK: !0 = metadata !{i32 1, metadata !"foo", i32 37} +; CHECK: !1 = metadata !{i32 3, metadata !"foo", metadata !2} +; CHECK: !2 = metadata !{metadata !"bar", i32 42} +; CHECK: !3 = metadata !{i32 1, metadata !"bar", i32 42} +; CHECK: !llvm.module.flags = !{!0, !1, !3} + +!0 = metadata !{ i32 1, metadata !"foo", i32 37 } +!1 = metadata !{ i32 1, metadata !"bar", i32 42 } + +!llvm.module.flags = !{ !0, !1 } diff --git a/llvm/test/Linker/module-flags-3-b.ll b/llvm/test/Linker/module-flags-3-b.ll new file mode 100644 index 00000000000..76be8026337 --- /dev/null +++ b/llvm/test/Linker/module-flags-3-b.ll @@ -0,0 +1,8 @@ +; This file is used with module-flags-3-a.ll +; RUN: true + +!0 = metadata !{ i32 3, metadata !"foo", + metadata !{ metadata !"bar", i32 42 } +} + +!llvm.module.flags = !{ !0 } diff --git a/llvm/test/Linker/module-flags-4-a.ll b/llvm/test/Linker/module-flags-4-a.ll new file mode 100644 index 00000000000..0199ef486cc --- /dev/null +++ b/llvm/test/Linker/module-flags-4-a.ll @@ -0,0 +1,10 @@ +; RUN: not llvm-link %s %p/module-flags-4-b.ll -S -o - |& FileCheck %s + +; Test 'require' error. + +; CHECK: Linking module flags 'bar': does not have the required value + +!0 = metadata !{ i32 1, metadata !"foo", i32 37 } +!1 = metadata !{ i32 1, metadata !"bar", i32 927 } + +!llvm.module.flags = !{ !0, !1 } diff --git a/llvm/test/Linker/module-flags-4-b.ll b/llvm/test/Linker/module-flags-4-b.ll new file mode 100644 index 00000000000..3a460bbeb0b --- /dev/null +++ b/llvm/test/Linker/module-flags-4-b.ll @@ -0,0 +1,8 @@ +; This file is used with module-flags-4-a.ll +; RUN: true + +!0 = metadata !{ i32 3, metadata !"foo", + metadata !{ metadata !"bar", i32 42 } +} + +!llvm.module.flags = !{ !0 } diff --git a/llvm/test/Linker/module-flags-5-a.ll b/llvm/test/Linker/module-flags-5-a.ll new file mode 100644 index 00000000000..21b20a31efd --- /dev/null +++ b/llvm/test/Linker/module-flags-5-a.ll @@ -0,0 +1,9 @@ +; RUN: not llvm-link %s %p/module-flags-5-b.ll -S -o - |& FileCheck %s + +; Test the 'override' error. + +; CHECK: Linking module flags 'foo': IDs have conflicting override values + +!0 = metadata !{ i32 4, metadata !"foo", i32 927 } + +!llvm.module.flags = !{ !0 } diff --git a/llvm/test/Linker/module-flags-5-b.ll b/llvm/test/Linker/module-flags-5-b.ll new file mode 100644 index 00000000000..1e99b207544 --- /dev/null +++ b/llvm/test/Linker/module-flags-5-b.ll @@ -0,0 +1,6 @@ +; This file is used with module-flags-5-a.ll +; RUN: true + +!0 = metadata !{ i32 4, metadata !"foo", i32 37 } ; Override the "foo" value. + +!llvm.module.flags = !{ !0 } diff --git a/llvm/test/Linker/module-flags-6-a.ll b/llvm/test/Linker/module-flags-6-a.ll new file mode 100644 index 00000000000..aeade470ca1 --- /dev/null +++ b/llvm/test/Linker/module-flags-6-a.ll @@ -0,0 +1,9 @@ +; RUN: not llvm-link %s %p/module-flags-6-b.ll -S -o - |& FileCheck %s + +; Test module flags error messages. + +; CHECK: Linking module flags 'foo': IDs have conflicting values + +!0 = metadata !{ i32 1, metadata !"foo", i32 37 } + +!llvm.module.flags = !{ !0 } diff --git a/llvm/test/Linker/module-flags-6-b.ll b/llvm/test/Linker/module-flags-6-b.ll new file mode 100644 index 00000000000..2bc5a96045b --- /dev/null +++ b/llvm/test/Linker/module-flags-6-b.ll @@ -0,0 +1,6 @@ +; This file is used with module-flags-6-a.ll +; RUN: true + +!0 = metadata !{ i32 1, metadata !"foo", i32 38 } + +!llvm.module.flags = !{ !0 } |