From d4a59a2d9d667e65c4a8d2fe602fe1e8c3cd4717 Mon Sep 17 00:00:00 2001 From: Mike Hommey Date: Wed, 31 May 2017 06:19:38 +0900 Subject: [PATCH] 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. We however keep -Os as default for debug builds for now, because -O2 triggers -Werror=strict-overflow failures somehow. --HG-- extra : rebase_source : ad2f4fedb7934b6b23b84412c86b30d29a8fb5f8 --- build/moz.configure/warnings.configure | 4 ++-- old-configure.in | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/build/moz.configure/warnings.configure b/build/moz.configure/warnings.configure index b9e94d99ba82..d9d08cf32e2f 100644 --- a/build/moz.configure/warnings.configure +++ b/build/moz.configure/warnings.configure @@ -98,8 +98,8 @@ 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') diff --git a/old-configure.in b/old-configure.in index 49bca5071c5f..0c4768b6f223 100644 --- a/old-configure.in +++ b/old-configure.in @@ -888,7 +888,11 @@ case "$target" in *-*linux*) if test "$GNU_CC" -o "$GNU_CXX"; then MOZ_PGO_OPTIMIZE_FLAGS="-O3" - MOZ_OPTIMIZE_FLAGS="-Os" + if test -n "$MOZ_DEBUG"; then + MOZ_OPTIMIZE_FLAGS="-Os" + else + MOZ_OPTIMIZE_FLAGS="-O2" + fi if test -z "$CLANG_CC"; then MOZ_OPTIMIZE_FLAGS="-freorder-blocks $MOZ_OPTIMIZE_FLAGS" fi