summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-split/scc-global2global.ll
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/test/tools/llvm-split/scc-global2global.ll')
-rw-r--r--llvm/test/tools/llvm-split/scc-global2global.ll28
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
+}
+
OpenPOWER on IntegriCloud