| Index: build/config/compiler/BUILD.gn
|
| diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn
|
| index 7f57d912d6f1ec60650af9ce04dc3bf61fc37683..11b7190462a7a35c3872d21a22b6935349733bc2 100644
|
| --- a/build/config/compiler/BUILD.gn
|
| +++ b/build/config/compiler/BUILD.gn
|
| @@ -470,6 +470,8 @@ config("compiler") {
|
| # TODO(pcc): Make this conditional on is_official_build rather than on gn
|
| # flags for specific features.
|
| if (!is_debug && (allow_posix_link_time_opt || is_cfi) && !is_nacl) {
|
| + assert(use_lld, "POSIX LTO requires LLD")
|
| +
|
| if (use_thin_lto) {
|
| cflags += [ "-flto=thin" ]
|
| ldflags += [ "-flto=thin" ]
|
| @@ -477,15 +479,11 @@ config("compiler") {
|
| # Limit the parallelism to avoid too agressive competition between
|
| # linker jobs. This is still suboptimal to a potential dynamic
|
| # resource allocation scheme, but should be good enough.
|
| - if (use_lld) {
|
| - ldflags += [
|
| - "-Wl,--thinlto-jobs=8",
|
| - "-Wl,--thinlto-cache-dir=" +
|
| - rebase_path("$root_out_dir/thinlto-cache", root_build_dir),
|
| - ]
|
| - } else {
|
| - ldflags += [ "-Wl,-plugin-opt,jobs=8" ]
|
| - }
|
| + ldflags += [
|
| + "-Wl,--thinlto-jobs=8",
|
| + "-Wl,--thinlto-cache-dir=" +
|
| + rebase_path("$root_out_dir/thinlto-cache", root_build_dir),
|
| + ]
|
| } else {
|
| # Note: ThinLTO does not currently have this feature implemented
|
| # For Full LTO, it provides a measurable runtime speedup of Chrome.
|
| @@ -500,11 +498,7 @@ config("compiler") {
|
|
|
| # Apply a lower LTO optimization level as the default is too slow.
|
| if (is_linux) {
|
| - if (use_lld) {
|
| - ldflags += [ "-Wl,--lto-O1" ]
|
| - } else {
|
| - ldflags += [ "-Wl,-plugin-opt,O1" ]
|
| - }
|
| + ldflags += [ "-Wl,--lto-O1" ]
|
| } else if (is_mac) {
|
| ldflags += [ "-Wl,-mllvm,-O1" ]
|
| }
|
| @@ -520,17 +514,10 @@ config("compiler") {
|
| # that is larger than the maximum call displacement, preventing the linker
|
| # from relocating calls (http://llvm.org/PR22999).
|
| if (is_linux) {
|
| - if (use_lld) {
|
| - ldflags += [
|
| - "-Wl,-mllvm,-function-sections",
|
| - "-Wl,-mllvm,-data-sections",
|
| - ]
|
| - } else {
|
| - ldflags += [
|
| - "-Wl,-plugin-opt,-function-sections",
|
| - "-Wl,-plugin-opt,-data-sections",
|
| - ]
|
| - }
|
| + ldflags += [
|
| + "-Wl,-mllvm,-function-sections",
|
| + "-Wl,-mllvm,-data-sections",
|
| + ]
|
| }
|
| }
|
|
|
|
|