summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-split/unnamed.ll
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2015-08-21 02:48:20 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2015-08-21 02:48:20 +0000
commit1dc6a8d1797086c630de2da3249dbcafb7157e27 (patch)
tree6fe3199373e4518779716bdf20aae61ab1356bd2 /llvm/test/tools/llvm-split/unnamed.ll
parentcf61aae163542877e71c1c193829df0366793d8f (diff)
downloadbcm5719-llvm-1dc6a8d1797086c630de2da3249dbcafb7157e27.tar.gz
bcm5719-llvm-1dc6a8d1797086c630de2da3249dbcafb7157e27.zip
TransformUtils: Introduce module splitter.
The module splitter splits a module into linkable partitions. It will be used to implement parallel LTO code generation. This initial version of the splitter does not attempt to deal with the somewhat subtle symbol visibility issues around module splitting. These will be dealt with in a future change. Differential Revision: http://reviews.llvm.org/D12132 llvm-svn: 245662
Diffstat (limited to 'llvm/test/tools/llvm-split/unnamed.ll')
-rw-r--r--llvm/test/tools/llvm-split/unnamed.ll31
1 files changed, 31 insertions, 0 deletions
diff --git a/llvm/test/tools/llvm-split/unnamed.ll b/llvm/test/tools/llvm-split/unnamed.ll
new file mode 100644
index 00000000000..96a7fe4e1b7
--- /dev/null
+++ b/llvm/test/tools/llvm-split/unnamed.ll
@@ -0,0 +1,31 @@
+; RUN: llvm-split -o %t %s
+; RUN: llvm-dis -o - %t0 | FileCheck --check-prefix=CHECK0 %s
+; RUN: llvm-dis -o - %t1 | FileCheck --check-prefix=CHECK1 %s
+
+; CHECK0: declare hidden void @__llvmsplit_unnamed()
+; CHECK1: define hidden void @__llvmsplit_unnamed()
+define internal void @0() {
+ ; CHECK1: call void @foo()
+ call void @foo()
+ ret void
+}
+
+; CHECK0: declare hidden void @__llvmsplit_unnamed1()
+; CHECK1: define hidden void @__llvmsplit_unnamed1()
+define internal void @1() {
+ ; CHECK1: call void @foo()
+ ; CHECK1: call void @foo()
+ call void @foo()
+ call void @foo()
+ ret void
+}
+
+; CHECK0: define void @foo()
+; CHECK1: declare void @foo()
+define void @foo() {
+ ; CHECK0: call void @__llvmsplit_unnamed1()
+ ; CHECK0: call void @__llvmsplit_unnamed()
+ call void @1()
+ call void @0()
+ ret void
+}
OpenPOWER on IntegriCloud