mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-01 05:01:59 +01:00
1d65c306a2
CompileOnDemandLayer2 now supports user-supplied partition functions (the original CompileOnDemandLayer already supported these). Partition functions are called with the list of requested global values (i.e. global values that currently have queries waiting on them) and have an opportunity to select extra global values to materialize at the same time. Also adds testing infrastructure for the new feature to lli. llvm-svn: 343396
22 lines
642 B
LLVM
22 lines
642 B
LLVM
; RUN: lli -jit-kind=orc-lazy -orc-lazy-debug=funcs-to-stdout \
|
|
; RUN: %s | FileCheck --check-prefix=CHECK-PER-FUNCTION %s
|
|
; RUN: lli -jit-kind=orc-lazy -per-module-lazy -orc-lazy-debug=funcs-to-stdout \
|
|
; RUN: %s | FileCheck --check-prefix=CHECK-WHOLE-MODULE %s
|
|
;
|
|
; CHECK-PER-FUNCTION-NOT: foo
|
|
; CHECK-WHOLE-MODULE: foo
|
|
;
|
|
; Checks that the whole module is emitted when -per-module-lazy is enabled,
|
|
; even though foo is not called.
|
|
; Also checks that the foo function is not emitted when -per-module-lazy is off.
|
|
|
|
define void @foo() {
|
|
entry:
|
|
ret void
|
|
}
|
|
|
|
define i32 @main(i32 %argc, i8** nocapture readnone %argv) {
|
|
entry:
|
|
ret i32 0
|
|
}
|