xref: /llvm-project/llvm/test/tools/llvm-split/scc-cycle.ll (revision e4b0231c63d40408d06ff4c3669ded4b4ecaaa85)
1d19d4d30SSergei Larin; All of the functions in this module must end up
2d19d4d30SSergei Larin; in the same partition.
3d19d4d30SSergei Larin
4d19d4d30SSergei Larin; Mutually recursive calls
5d19d4d30SSergei Larin; RUN: llvm-split -j=2 -preserve-locals -o %t %s
6d19d4d30SSergei Larin; RUN: llvm-dis -o - %t0 | FileCheck --check-prefix=CHECK1 %s
7d19d4d30SSergei Larin; RUN: llvm-dis -o - %t1 | FileCheck --check-prefix=CHECK0 %s
8d19d4d30SSergei Larin
9*e4b0231cSRafael Espindola; CHECK0: declare dso_local i32 @funInternal0
10*e4b0231cSRafael Espindola; CHECK0: declare dso_local i32 @funInternal1
11d19d4d30SSergei Larin; CHECK0: declare i32 @funExternal0
12d19d4d30SSergei Larin; CHECK0: declare i32 @funExternal1
13d19d4d30SSergei Larin
14d19d4d30SSergei Larin; CHECK1: define internal i32 @funInternal0
15d19d4d30SSergei Larin; CHECK1: define internal i32 @funInternal1
16d19d4d30SSergei Larin; CHECK1: define i32 @funExternal0
17d19d4d30SSergei Larin; CHECK1: define i32 @funExternal1
18d19d4d30SSergei Larin
19d19d4d30SSergei Larindefine internal i32 @funInternal0() {
20d19d4d30SSergei Larinentry:
21d19d4d30SSergei Larin  %x = call i32 @funInternal1()
22d19d4d30SSergei Larin  ret i32 %x
23d19d4d30SSergei Larin}
24d19d4d30SSergei Larin
25d19d4d30SSergei Larindefine internal i32 @funInternal1() {
26d19d4d30SSergei Larinentry:
27d19d4d30SSergei Larin  %x = call i32 @funInternal0()
28d19d4d30SSergei Larin  ret i32 %x
29d19d4d30SSergei Larin}
30d19d4d30SSergei Larin
31d19d4d30SSergei Larin; Extrnal functions
32d19d4d30SSergei Larin
33d19d4d30SSergei Larindefine i32 @funExternal0() {
34d19d4d30SSergei Larinentry:
35d19d4d30SSergei Larin  %x = call i32 @funInternal0()
36d19d4d30SSergei Larin  ret i32 %x
37d19d4d30SSergei Larin}
38d19d4d30SSergei Larin
39d19d4d30SSergei Larindefine i32 @funExternal1() {
40d19d4d30SSergei Larinentry:
41d19d4d30SSergei Larin  %x = call i32 @funInternal1()
42d19d4d30SSergei Larin  ret i32 %x
43d19d4d30SSergei Larin}
44d19d4d30SSergei Larin
45