Bug 1507334 - Add mozconfigs for 3-stage PGO; r=firefox-build-system-reviewers,chmanchester#firefox-build-system-reviewers
authorMike Shal <mshal@mozilla.com>
Thu, 10 Jan 2019 01:34:49 +0000
changeset 513175 6f12b99d521ca62132a90805029724defe4f062b
parent 513174 1f487879b4d7fd68d64edc3fb211d0fbfdb97987
child 513176 35396e93307e42785d4794ca947201203aa02aac
push id1953
push userffxbld-merge
push dateMon, 11 Mar 2019 12:10:20 +0000
treeherdermozilla-release@9c35dcbaa899 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersfirefox-build-system-reviewers, chmanchester
bugs1507334
milestone66.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 1507334 - Add mozconfigs for 3-stage PGO; r=firefox-build-system-reviewers,chmanchester#firefox-build-system-reviewers These two mozconfigs are used for the 1st and 3rd stages of PGO. 'profile-generate' is used for the 1st stage to generate a firefox binary with instrumentation enabled. Since it is only used for getting profile data, we don't run tests against it or need crashreporter symbol.s The 'profile-use' mozconfig is for the 3rd and final stage were we produce the fully optimized build. The profiling information and jarlog are input artifacts produced by the 2nd stage (running the profileserver). Differential Revision: https://phabricator.services.mozilla.com/D15749
browser/config/mozconfigs/linux64/profile-generate
browser/config/mozconfigs/linux64/profile-use
moz.build
new file mode 100644
--- /dev/null
+++ b/browser/config/mozconfigs/linux64/profile-generate
@@ -0,0 +1,8 @@
+. $topsrcdir/browser/config/mozconfigs/linux64/nightly
+
+mk_add_options "export MOZ_AUTOMATION_BUILD_SYMBOLS=0"
+mk_add_options "export MOZ_AUTOMATION_PACKAGE_TESTS=0"
+mk_add_options "export MOZ_AUTOMATION_PACKAGE_GENERATED_SOURCES=0"
+mk_add_options "export MOZ_AUTOMATION_L10N_CHECK=0"
+
+ac_add_options --enable-profile-generate
new file mode 100644
--- /dev/null
+++ b/browser/config/mozconfigs/linux64/profile-use
@@ -0,0 +1,6 @@
+. $topsrcdir/browser/config/mozconfigs/linux64/nightly
+
+ac_add_options --enable-profile-use
+ac_add_options --enable-lto
+ac_add_options --with-pgo-jarlog=/builds/worker/fetches/en-US.log
+ac_add_options --with-pgo-profile-path=/builds/worker/fetches/default.profraw
--- a/moz.build
+++ b/moz.build
@@ -119,17 +119,17 @@ if not CONFIG['JS_STANDALONE'] or not CO
 
 if CONFIG['PGO_PROFILE_PATH']:
     profdata_gen = ('merged.profdata.stub', 'merged.profdata')
     GENERATED_FILES += [
         profdata_gen
     ]
     GENERATED_FILES[profdata_gen].script = 'build/merge_profdata.py'
     GENERATED_FILES[profdata_gen].inputs = [
-        CONFIG['PGO_PROFILE_PATH'],
+        '/' + CONFIG['PGO_PROFILE_PATH'],
     ]
 
 DIRS += [
     'mfbt',
 ]
 
 if CONFIG['MOZ_BUILD_APP']:
     # Bring in the configuration for the configured application.