revert-795c8762b16b.patch
author Wolfgang Rosenauer <wr@rosenauer.org>
Wed, 07 Oct 2020 13:52:29 +0200
changeset 1147 e81381ea5f3d
parent 1144 8a43aff7e982
permissions -rw-r--r--
work towards ff82
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1144
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     1
diff --git a/build/moz.configure/lto-pgo.configure b/build/moz.configure/lto-pgo.configure
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     2
--- a/build/moz.configure/lto-pgo.configure
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     3
+++ b/build/moz.configure/lto-pgo.configure
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     4
@@ -224,17 +224,20 @@ def lto(value, c_compiler, ld64_known_go
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     5
             #
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     6
             # https://github.com/llvm/llvm-project/blob/e7694f34ab6a12b8bb480cbfcb396d0a64fe965f/llvm/lib/Target/X86/X86.td#L1165-L1187
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     7
             if target.cpu == 'x86_64':
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     8
                 ldflags.append('-mllvm:-mcpu=x86-64')
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     9
             # We do not need special flags for arm64.  Hooray for fixed-length
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    10
             # instruction sets.
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    11
         else:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    12
             num_cores = multiprocessing.cpu_count()
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    13
-            cflags.append("-flto")
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    14
+            if len(value) and value[0].lower() == 'full':
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    15
+                cflags.append("-flto")
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    16
+            else:
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    17
+                cflags.append("-flto=thin")
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    18
             cflags.append("-flifetime-dse=1")
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    19
 
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    20
             ldflags.append("-flto=%s" % num_cores)
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    21
             ldflags.append("-flifetime-dse=1")
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    22
 
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    23
         # Tell LTO not to inline functions above a certain size, to mitigate
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    24
         # binary size growth while still getting good performance.
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    25
         # (For hot functions, PGO will put a multiplier on this limit.)