diff options
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/Linker/Inputs/only-needed-named-metadata.ll | 3 | ||||
| -rw-r--r-- | llvm/test/Linker/comdat_group.ll | 20 | ||||
| -rw-r--r-- | llvm/test/Linker/only-needed-named-metadata.ll | 14 |
3 files changed, 21 insertions, 16 deletions
diff --git a/llvm/test/Linker/Inputs/only-needed-named-metadata.ll b/llvm/test/Linker/Inputs/only-needed-named-metadata.ll index 95151692d3b..fa7bc2e3cc8 100644 --- a/llvm/test/Linker/Inputs/only-needed-named-metadata.ll +++ b/llvm/test/Linker/Inputs/only-needed-named-metadata.ll @@ -2,11 +2,8 @@ declare i32 @foo() -declare void @c1_a() - define void @bar() { load i32, i32* @X call i32 @foo() - call void @c1_a() ret void } diff --git a/llvm/test/Linker/comdat_group.ll b/llvm/test/Linker/comdat_group.ll new file mode 100644 index 00000000000..efaa94f2858 --- /dev/null +++ b/llvm/test/Linker/comdat_group.ll @@ -0,0 +1,20 @@ +; RUN: llvm-as -function-summary %s -o %t.bc + +; Ensure complete comdat group is materialized +; RUN: llvm-link %t.bc -S | FileCheck %s +; CHECK: $linkoncecomdat = comdat any +; CHECK: @linkoncecomdat = linkonce global i32 2 +; CHECK: @linkoncecomdat_unref_var = linkonce global i32 2, comdat($linkoncecomdat) +; CHECK: define linkonce void @linkoncecomdat_unref_func() comdat($linkoncecomdat) + +$linkoncecomdat = comdat any +@linkoncecomdat = linkonce global i32 2, comdat($linkoncecomdat) +@linkoncecomdat_unref_var = linkonce global i32 2, comdat($linkoncecomdat) +define linkonce void @linkoncecomdat_unref_func() comdat($linkoncecomdat) { + ret void +} +; Reference one member of comdat so that comdat is generated. +define void @ref_linkoncecomdat() { + load i32, i32* @linkoncecomdat, align 4 + ret void +} diff --git a/llvm/test/Linker/only-needed-named-metadata.ll b/llvm/test/Linker/only-needed-named-metadata.ll index 36b42590628..a0df5bf2238 100644 --- a/llvm/test/Linker/only-needed-named-metadata.ll +++ b/llvm/test/Linker/only-needed-named-metadata.ll @@ -25,17 +25,6 @@ ; ONLYNEEDED-NOT:@globalfunc1() ; ONLYNEEDED-NOT:@analias ; ONLYNEEDED-NOT:@globalfunc2() -; ONLYNEEDED-NOT:@c1_c -; ONLYNEEDED-NOT:@c1() - -$c1 = comdat any -@c1_c = global i32 0, comdat($c1) -define void @c1() comdat { - ret void -} -define void @c1_a() comdat($c1) { - ret void -} @X = global i32 5 @U = global i32 6 @@ -64,7 +53,7 @@ entry: ret void } -!llvm.named = !{!0, !1, !2, !3, !4, !5, !6, !7} +!llvm.named = !{!0, !1, !2, !3, !4, !5, !6} !0 = !{i32 ()* @unused} !1 = !{i32* @U} !2 = !{i32 ()* @unused_linkonce} @@ -72,4 +61,3 @@ entry: !4 = !{void (...)* @weakalias} !5 = !{void (...)* @analias} !6 = !{void (...)* @linkoncealias} -!7 = !{void ()* @c1} |

