45 lines · plain
1; All of the functions in this module must end up2; in the same partition.3 4; Mutually recursive calls5; RUN: llvm-split -j=2 -preserve-locals -o %t %s6; RUN: llvm-dis -o - %t0 | FileCheck --check-prefix=CHECK1 %s7; RUN: llvm-dis -o - %t1 | FileCheck --check-prefix=CHECK0 %s8 9; CHECK0: declare dso_local i32 @funInternal010; CHECK0: declare dso_local i32 @funInternal111; CHECK0: declare i32 @funExternal012; CHECK0: declare i32 @funExternal113 14; CHECK1: define internal i32 @funInternal015; CHECK1: define internal i32 @funInternal116; CHECK1: define i32 @funExternal017; CHECK1: define i32 @funExternal118 19define internal i32 @funInternal0() {20entry:21 %x = call i32 @funInternal1()22 ret i32 %x23}24 25define internal i32 @funInternal1() {26entry:27 %x = call i32 @funInternal0()28 ret i32 %x29}30 31; Extrnal functions32 33define i32 @funExternal0() {34entry:35 %x = call i32 @funInternal0()36 ret i32 %x37}38 39define i32 @funExternal1() {40entry:41 %x = call i32 @funInternal1()42 ret i32 %x43}44 45