xref: /llvm-project/llvm/test/tools/llvm-reduce/remove-comdat.ll (revision 6ae63c90cec0517afe3e7c7c11f9d73061abe3f7)
1; RUN: llvm-reduce --abort-on-invalid-reduction --delta-passes=global-objects --test FileCheck --test-arg --check-prefixes=CHECK-INTERESTINGNESS --test-arg %s --test-arg --input-file %s -o %t
2; RUN: FileCheck --check-prefix=CHECK-FINAL %s --input-file=%t
3
4; CHECK-INTERESTINGNESS: define void @f
5; CHECK-INTERESTINGNESS: define void @g
6; CHECK-INTERESTINGNESS: define void @i{{.*}} comdat
7
8; CHECK-FINAL-NOT: $f
9; CHECK-FINAL-NOT: $h
10; CHECK-FINAL: $i = comdat
11; CHECK-FINAL: define void @f() {
12; CHECK-FINAL: define void @g() {
13; CHECK-FINAL: define void @i() comdat {
14
15$f = comdat any
16$h = comdat any
17$i = comdat any
18
19define void @f() comdat {
20  ret void
21}
22
23define void @g() comdat($h) {
24  ret void
25}
26
27define void @i() comdat {
28  ret void
29}
30