diff options
Diffstat (limited to 'llvm/test/tools/llvm-split/scc-global2global.ll')
-rw-r--r-- | llvm/test/tools/llvm-split/scc-global2global.ll | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-split/scc-global2global.ll b/llvm/test/tools/llvm-split/scc-global2global.ll new file mode 100644 index 00000000000..95ff5357d5b --- /dev/null +++ b/llvm/test/tools/llvm-split/scc-global2global.ll @@ -0,0 +1,28 @@ +; All of the functions and globals in this module must end up +; in the same partition. + +; RUN: llvm-split -j=2 -preserve-locals -o %t %s +; RUN: llvm-dis -o - %t0 | FileCheck --check-prefix=CHECK1 %s +; RUN: llvm-dis -o - %t1 | FileCheck --check-prefix=CHECK0 %s + +; CHECK0: declare %struct.anon* @local0 +; CHECK0: declare i8** @local1 + +; CHECK1: @bla +; CHECK1: @ptr +; CHECK1: define internal %struct.anon* @local0 +; CHECK1: define internal i8** @local1 + +%struct.anon = type { i64, i64 } + +@bla = internal global %struct.anon { i64 1, i64 2 }, align 8 +@ptr = internal global i8* bitcast (%struct.anon* @bla to i8*), align 4 + +define internal %struct.anon* @local0() { + ret %struct.anon* @bla +} + +define internal i8** @local1() { + ret i8** @ptr +} + |