mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
[gn build] Support building with ThinLTO
Differential Revision: https://reviews.llvm.org/D88584
This commit is contained in:
parent
c0c56e8bad
commit
f70b28627d
@ -256,6 +256,27 @@ config("compiler_defaults") {
|
||||
cflags += [ "-fsanitize=thread" ]
|
||||
ldflags += [ "-fsanitize=thread" ]
|
||||
}
|
||||
|
||||
if (use_thinlto) {
|
||||
assert(is_clang, "ThinLTO only supported on Clang")
|
||||
|
||||
lto_opt_level = 2
|
||||
|
||||
cflags += [ "-flto=thin" ]
|
||||
|
||||
if (host_os == "win") {
|
||||
ldflags += [
|
||||
"/opt:lldlto=" + lto_opt_level,
|
||||
"/opt:lldltojobs=" + max_jobs_per_lto_link,
|
||||
]
|
||||
} else {
|
||||
ldflags += [
|
||||
"-flto=thin",
|
||||
"-Wl,--thinlto-jobs=" + max_jobs_per_lto_link,
|
||||
"-Wl,--lto-O" + lto_opt_level,
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
config("no_exceptions") {
|
||||
|
@ -10,16 +10,22 @@ declare_args() {
|
||||
|
||||
# Whether to build with asan.
|
||||
use_asan = false
|
||||
}
|
||||
|
||||
# args that depend on other args must live in a later declare_args() block.
|
||||
declare_args() {
|
||||
# Whether to build with optimizations.
|
||||
is_optimized = !is_debug
|
||||
|
||||
# Whether to enable assertions.
|
||||
llvm_enable_assertions = true
|
||||
|
||||
# Whether to enable expensive checks.
|
||||
llvm_enable_expensive_checks = false
|
||||
|
||||
# Whether to build with ThinLTO.
|
||||
use_thinlto = false
|
||||
|
||||
# Max jobs per ThinLTO link.
|
||||
max_jobs_per_lto_link = 8
|
||||
}
|
||||
|
||||
# args that depend on other args must live in a later declare_args() block.
|
||||
declare_args() {
|
||||
# Whether to build with optimizations.
|
||||
is_optimized = !is_debug
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user