49 lines · plain
1; All of the functions in this module must end up2; in the same partition.3 4; RUN: llvm-split -j=2 -preserve-locals -o %t %s5; RUN: llvm-dis -o - %t0 | FileCheck --check-prefix=CHECK1 %s6; RUN: llvm-dis -o - %t1 | FileCheck --check-prefix=CHECK0 %s7 8; CHECK0: declare dso_local i32 @foo9; CHECK0: declare dso_local i32 @baz10; CHECK0: declare i32 @bar11; CHECK0: declare i32 @bar212 13; CHECK1: @bla14; CHECK1: @bla215; CHECK1: define internal i32 @foo16; CHECK1: define internal i32 @baz17; CHECK1: define i32 @bar18; CHECK1: define i32 @bar219 20%struct.anon = type { i64, i64 }21 22@bla = internal global %struct.anon { i64 1, i64 2 }, align 823@bla2 = internal global %struct.anon { i64 1, i64 2 }, align 824 25define internal i32 @foo() {26entry:27 store i64 5, ptr @bla, align 828 store i32 -1, ptr getelementptr inbounds (%struct.anon, ptr @bla2, i32 0, i32 1), align 829 ret i32 030}31 32define internal i32 @baz() {33entry:34 store i64 5, ptr @bla, align 835 store i32 -1, ptr getelementptr inbounds (%struct.anon, ptr @bla2, i32 0, i32 1), align 836 ret i32 037}38 39define i32 @bar() {40 %call = call i32 @foo()41 ret i32 042}43 44define i32 @bar2() {45 %call = call i32 @baz()46 ret i32 047}48 49