forked from pool/MozillaFirefox
26 lines
1.2 KiB
Diff
26 lines
1.2 KiB
Diff
|
diff --git a/build/moz.configure/lto-pgo.configure b/build/moz.configure/lto-pgo.configure
|
||
|
--- a/build/moz.configure/lto-pgo.configure
|
||
|
+++ b/build/moz.configure/lto-pgo.configure
|
||
|
@@ -224,17 +224,20 @@ def lto(value, c_compiler, ld64_known_go
|
||
|
#
|
||
|
# https://github.com/llvm/llvm-project/blob/e7694f34ab6a12b8bb480cbfcb396d0a64fe965f/llvm/lib/Target/X86/X86.td#L1165-L1187
|
||
|
if target.cpu == 'x86_64':
|
||
|
ldflags.append('-mllvm:-mcpu=x86-64')
|
||
|
# We do not need special flags for arm64. Hooray for fixed-length
|
||
|
# instruction sets.
|
||
|
else:
|
||
|
num_cores = multiprocessing.cpu_count()
|
||
|
- cflags.append("-flto")
|
||
|
+ if len(value) and value[0].lower() == 'full':
|
||
|
+ cflags.append("-flto")
|
||
|
+ else:
|
||
|
+ cflags.append("-flto=thin")
|
||
|
cflags.append("-flifetime-dse=1")
|
||
|
|
||
|
ldflags.append("-flto=%s" % num_cores)
|
||
|
ldflags.append("-flifetime-dse=1")
|
||
|
|
||
|
# Tell LTO not to inline functions above a certain size, to mitigate
|
||
|
# binary size growth while still getting good performance.
|
||
|
# (For hot functions, PGO will put a multiplier on this limit.)
|