xref: /llvm-project/llvm/test/tools/llvm-split/scc-comdat.ll (revision e4b0231c63d40408d06ff4c3669ded4b4ecaaa85)
1d19d4d30SSergei Larin; All functions in the same comdat group must
2d19d4d30SSergei Larin; be in the same module
3d19d4d30SSergei Larin
4d19d4d30SSergei Larin; RUN: llvm-split -j=2 -preserve-locals -o %t %s
5d19d4d30SSergei Larin; RUN: llvm-dis -o - %t0 | FileCheck --check-prefix=CHECK1 %s
6d19d4d30SSergei Larin; RUN: llvm-dis -o - %t1 | FileCheck --check-prefix=CHECK0 %s
7d19d4d30SSergei Larin
8*e4b0231cSRafael Espindola; CHECK0: declare dso_local i32 @fun1
9*e4b0231cSRafael Espindola; CHECK0: declare dso_local i32 @fun2
10d19d4d30SSergei Larin; CHECK0: declare i32 @fun3
11d19d4d30SSergei Larin
12d19d4d30SSergei Larin; CHECK1: define internal i32 @fun1
13d19d4d30SSergei Larin; CHECK1: define internal i32 @fun2
14d19d4d30SSergei Larin; CHECK1: define i32 @fun3
15d19d4d30SSergei Larin
16d19d4d30SSergei Larin$fun = comdat any
17d19d4d30SSergei Larin
18d19d4d30SSergei Larindefine internal i32 @fun1() section ".text.funs" comdat($fun) {
19d19d4d30SSergei Larinentry:
20d19d4d30SSergei Larin  ret i32 0
21d19d4d30SSergei Larin}
22d19d4d30SSergei Larin
23d19d4d30SSergei Larindefine internal i32 @fun2() section ".text.funs" comdat($fun) {
24d19d4d30SSergei Larinentry:
25d19d4d30SSergei Larin  ret i32 0
26d19d4d30SSergei Larin}
27d19d4d30SSergei Larin
28d19d4d30SSergei Larindefine i32 @fun3() section ".text.funs" comdat($fun) {
29d19d4d30SSergei Larinentry:
30d19d4d30SSergei Larin  ret i32 0
31d19d4d30SSergei Larin}
32d19d4d30SSergei Larin
33