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