mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-11 05:35:11 +00:00
c1e784cb78
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@245662 91177308-0d34-0410-b5e6-96231b3b80d8
32 lines
810 B
LLVM
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
|
|
}
|