Bug 1561146 - Enable PGO for Windows aarch64 builds; r=firefox-build-system-reviewers,chmanchester

This build re-uses the PGO profile from the win64 build in the
win64-aarch64-shippable-no-eme part of the aarch64 build. Even though
the profile isn't generated on the smae platform, we still get enough of
a performance win to make this worthwhile.

Note that the pgo_flags() in configure need to be tweaked slightly since
we don't supprt the -fprofile-generate flag for aarch64 (we don't build
the clang_rt.profile lib there). So we always want to return the flags
namespace to make sure we get the use_* versions of flags, which we do
need.

Differential Revision: https://phabricator.services.mozilla.com/D38928

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Mike Shal 2019-07-23 23:42:47 +00:00
Родитель e54f4ead1e
Коммит 98ffc560c9
2 изменённых файлов: 10 добавлений и 10 удалений

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

@ -1442,16 +1442,15 @@ def pgo_flags(compiler, build_env, target):
else:
gen_ldflags = ['-fprofile-generate']
if gen_ldflags:
return namespace(
gen_cflags=[prefix + '-fprofile-generate'],
gen_ldflags=gen_ldflags,
use_cflags=[prefix + '-fprofile-use=%s' % profdata,
# Some error messages about mismatched profile data
# come in via -Wbackend-plugin, so disable those too.
'-Wno-error=backend-plugin'],
use_ldflags=[],
)
return namespace(
gen_cflags=[prefix + '-fprofile-generate'],
gen_ldflags=gen_ldflags,
use_cflags=[prefix + '-fprofile-use=%s' % profdata,
# Some error messages about mismatched profile data
# come in via -Wbackend-plugin, so disable those too.
'-Wno-error=backend-plugin'],
use_ldflags=[],
)
set_config('PROFILE_GEN_CFLAGS', pgo_flags.gen_cflags)

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

@ -1119,6 +1119,7 @@ win64-aarch64-shippable/opt:
win64-aarch64-shippable-no-eme/opt:
description: "AArch64 Win64 Shippable w/o EME"
use-pgo: win64-shippable/opt
index:
product: firefox
job-name: win64-aarch64-no-eme-opt