Bug 1368649 - Default to -O2 when building on Linux without PGO. r=gps
☠☠ backed out by 8e3f7a301dc1 ☠ ☠
authorMike Hommey <mh+mozilla@glandium.org>
Wed, 31 May 2017 06:19:38 +0900
changeset 410055 d956ff86aaa6e2870860c11dfbfd86591392a16f
parent 410054 fcf76659f264e52a535658aa826271e7b0559c3f
child 410056 8e3f7a301dc18cf2b580f44fb8018dabd2c3c79c
push id7391
push usermtabara@mozilla.com
push dateMon, 12 Jun 2017 13:08:53 +0000
treeherdermozilla-beta@2191d7f87e2e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersgps
bugs1368649
milestone55.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1368649 - Default to -O2 when building on Linux without PGO. r=gps -Os generates smaller code, at the expense of performance. On desktop, this tradeoff is not necessarily the best, especially when considering the vast performance difference. Most downstream redistributors also don't do PGO and don't override defaults, so they would tend to ship slower builds as a consequence.
build/moz.configure/warnings.configure
old-configure.in
--- a/build/moz.configure/warnings.configure
+++ b/build/moz.configure/warnings.configure
@@ -93,18 +93,18 @@ check_and_add_gcc_warning('-Wno-error=ma
 check_and_add_gcc_warning('-Wno-error=deprecated-declarations')
 
 # false positives depending on optimization
 check_and_add_gcc_warning('-Wno-error=array-bounds')
 
 # can't get rid of those PGO warnings
 check_and_add_gcc_warning('-Wno-error=coverage-mismatch', when='MOZ_PGO')
 
-# false positives during PGO
-check_and_add_gcc_warning('-Wno-error=free-nonheap-object', when='MOZ_PGO')
+# false positives depending on optimizations
+check_and_add_gcc_warning('-Wno-error=free-nonheap-object')
 
 # catches format/argument mismatches with printf
 check_and_add_gcc_warning('-Wformat')
 
 # We use mix of both POSIX and Win32 printf format across the tree, so format
 # warnings are useless on mingw.
 check_and_add_gcc_warning('-Wno-format',
                           when=depends(target)(lambda t: t.kernel == 'WINNT'))
--- a/old-configure.in
+++ b/old-configure.in
@@ -883,17 +883,17 @@ case "$target" in
     if test -z "$CLANG_CC"; then
        MOZ_OPTIMIZE_FLAGS="-freorder-blocks -fno-reorder-functions $MOZ_OPTIMIZE_FLAGS"
     fi
     ;;
 
 *-*linux*)
     if test "$GNU_CC" -o "$GNU_CXX"; then
         MOZ_PGO_OPTIMIZE_FLAGS="-O3"
-        MOZ_OPTIMIZE_FLAGS="-Os"
+        MOZ_OPTIMIZE_FLAGS="-O2"
         if test -z "$CLANG_CC"; then
            MOZ_OPTIMIZE_FLAGS="-freorder-blocks $MOZ_OPTIMIZE_FLAGS"
         fi
     fi
 
     case "${target_cpu}" in
     alpha*)
         CFLAGS="$CFLAGS -mieee"