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
This commit is contained in:
Mike Hommey 2017-05-31 06:19:38 +09:00
Родитель 8cb88eaf14
Коммит d4a59a2d9d
2 изменённых файлов: 7 добавлений и 3 удалений

Просмотреть файл

@ -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')

Просмотреть файл

@ -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