xref: /llvm-project/llvm/test/tools/llvm-split/comdat.ll (revision 1dc6a8d1797086c630de2da3249dbcafb7157e27)
1*1dc6a8d1SPeter Collingbourne; RUN: llvm-split -o %t %s
2*1dc6a8d1SPeter Collingbourne; RUN: llvm-dis -o - %t0 | FileCheck --check-prefix=CHECK0 %s
3*1dc6a8d1SPeter Collingbourne; RUN: llvm-dis -o - %t1 | FileCheck --check-prefix=CHECK1 %s
4*1dc6a8d1SPeter Collingbourne
5*1dc6a8d1SPeter Collingbourne$foo = comdat any
6*1dc6a8d1SPeter Collingbourne
7*1dc6a8d1SPeter Collingbourne; CHECK0: define void @foo()
8*1dc6a8d1SPeter Collingbourne; CHECK1: declare void @foo()
9*1dc6a8d1SPeter Collingbournedefine void @foo() comdat {
10*1dc6a8d1SPeter Collingbourne  call void @bar()
11*1dc6a8d1SPeter Collingbourne  ret void
12*1dc6a8d1SPeter Collingbourne}
13*1dc6a8d1SPeter Collingbourne
14*1dc6a8d1SPeter Collingbourne; CHECK0: define void @bar()
15*1dc6a8d1SPeter Collingbourne; CHECK1: declare void @bar()
16*1dc6a8d1SPeter Collingbournedefine void @bar() comdat($foo) {
17*1dc6a8d1SPeter Collingbourne  call void @foo()
18*1dc6a8d1SPeter Collingbourne  ret void
19*1dc6a8d1SPeter Collingbourne}
20