blob: 953a0244ae7e4e522eaf62cdcdfa1a4ac4840760 [file] [log] [blame]
Sergei Larind19d4d32016-01-18 21:07:13 +00001; All of the functions in this module must end up
2; in the same partition.
3
4; RUN: llvm-split -j=2 -preserve-locals -o %t %s
5; RUN: llvm-dis -o - %t0 | FileCheck --check-prefix=CHECK1 %s
6; RUN: llvm-dis -o - %t1 | FileCheck --check-prefix=CHECK0 %s
7
8; CHECK0: declare i32 @funInternal0
9; CHECK0: declare i32 @funInternal1
10; CHECK0: declare i32 @funInternal2
11; CHECK0: declare i32 @funExternal
12
13; All functions are in the same file.
14; Local functions are still local.
15; CHECK1: define internal i32 @funInternal0
16; CHECK1: define internal i32 @funInternal1
17; CHECK1: define internal i32 @funInternal2
18; CHECK1: define i32 @funExternal
19; CHECK1: define i32 @funExternal2
20
21define internal i32 @funInternal0() {
22entry:
23 ret i32 0
24}
25
26define internal i32 @funInternal1() {
27entry:
28 %x = call i32 @funInternal0()
29 ret i32 %x
30}
31
32define internal i32 @funInternal2() {
33entry:
34 %x = call i32 @funInternal1()
35 ret i32 %x
36}
37
38define i32 @funExternal() {
39entry:
40 %x = call i32 @funInternal2()
41 ret i32 %x
42}
43
44define i32 @funExternal2() {
45entry:
46 %x = call i32 @funInternal0()
47 ret i32 %x
48}