1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/test/tools/llvm-split/unnamed.ll
Peter Collingbourne 96b0ffdce8 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
2015-08-21 02:48:20 +00:00

32 lines
810 B
LLVM

; 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
}