xref: /llvm-project/llvm/test/tools/llvm-reduce/remove-comdat.ll (revision 6ae63c90cec0517afe3e7c7c11f9d73061abe3f7)
1*6ae63c90SArthur Eubanks; 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*6ae63c90SArthur Eubanks; RUN: FileCheck --check-prefix=CHECK-FINAL %s --input-file=%t
3*6ae63c90SArthur Eubanks
4*6ae63c90SArthur Eubanks; CHECK-INTERESTINGNESS: define void @f
5*6ae63c90SArthur Eubanks; CHECK-INTERESTINGNESS: define void @g
6*6ae63c90SArthur Eubanks; CHECK-INTERESTINGNESS: define void @i{{.*}} comdat
7*6ae63c90SArthur Eubanks
8*6ae63c90SArthur Eubanks; CHECK-FINAL-NOT: $f
9*6ae63c90SArthur Eubanks; CHECK-FINAL-NOT: $h
10*6ae63c90SArthur Eubanks; CHECK-FINAL: $i = comdat
11*6ae63c90SArthur Eubanks; CHECK-FINAL: define void @f() {
12*6ae63c90SArthur Eubanks; CHECK-FINAL: define void @g() {
13*6ae63c90SArthur Eubanks; CHECK-FINAL: define void @i() comdat {
14*6ae63c90SArthur Eubanks
15*6ae63c90SArthur Eubanks$f = comdat any
16*6ae63c90SArthur Eubanks$h = comdat any
17*6ae63c90SArthur Eubanks$i = comdat any
18*6ae63c90SArthur Eubanks
19*6ae63c90SArthur Eubanksdefine void @f() comdat {
20*6ae63c90SArthur Eubanks  ret void
21*6ae63c90SArthur Eubanks}
22*6ae63c90SArthur Eubanks
23*6ae63c90SArthur Eubanksdefine void @g() comdat($h) {
24*6ae63c90SArthur Eubanks  ret void
25*6ae63c90SArthur Eubanks}
26*6ae63c90SArthur Eubanks
27*6ae63c90SArthur Eubanksdefine void @i() comdat {
28*6ae63c90SArthur Eubanks  ret void
29*6ae63c90SArthur Eubanks}
30