diff options
author | sebmarchand@chromium.org <sebmarchand@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-14 16:48:30 +0000 |
---|---|---|
committer | sebmarchand@chromium.org <sebmarchand@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-14 16:48:30 +0000 |
commit | 72589062a301d984e9aef85c6411ac116ca9bbf5 (patch) | |
tree | b07021bf40dda928da9a99a39370d2877088354b /build/internal | |
parent | 64fd158300f88d06c8ac52c8a67f08955333ecd2 (diff) | |
download | chromium_src-72589062a301d984e9aef85c6411ac116ca9bbf5.zip chromium_src-72589062a301d984e9aef85c6411ac116ca9bbf5.tar.gz chromium_src-72589062a301d984e9aef85c6411ac116ca9bbf5.tar.bz2 |
Add PGO targets to Chrome.
This allows to do a PGO optimized build of Chrome with the following commands:
python build\gyp_chromium -Dchrome_pgo_phase=1
ninja -C out\Release chrome
run with '--no-sandbox' + pgosweep
python build\gyp_chromium -Dchrome_pgo_phase=2
ninja -C out\Release chrome
----- Approach that didn't worked -----
(see comment #13 to know why this didn't work)
Instead of having the following gyp dependency chain (for a regular build), here '->' means 'depends on':
'chrome'->|'chrome_main_dll'
----------|'chrome_child_dll'
we know have the following one (when chrome_pgo==1):
'chrome'->|'chrome_main_dll' |->'chrome_pgo_optimize'->|'chrome_main_dll_pgi'
----------|'chrome_child_dll'|-------------------------|'chrome_child_dll_pgi'
The '*_pgi' target correspond to the instrumented dll, the name of the DLLs produced by target will be terminated by '_pgi'.
During the 'chrome_pgo_optimize' step the instrumented DLLs will be renamed (the '_pgi' suffix will be removed) and Chrome will be run against a set of profile test cases, pgosweep.exe will also be invoked to collect the instrumentation data.
Then the main targets ('chrome_main_dll' and 'chrome_child_dll') will be linked with the flag /LTCG:PGOPTIMIZE, this will produce the optimized DLLs.
--------------------------------------------
R=scottmg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/187813008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257133 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'build/internal')
-rw-r--r-- | build/internal/release_impl_official.gypi | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/build/internal/release_impl_official.gypi b/build/internal/release_impl_official.gypi index d084ae3..d0729a9 100644 --- a/build/internal/release_impl_official.gypi +++ b/build/internal/release_impl_official.gypi @@ -31,7 +31,6 @@ # headroom as of Dec 16, 2011. '/expectedoutputsize:41943040', ], - 'LinkTimeCodeGeneration': '1', # The /PROFILE flag causes the linker to add a "FIXUP" debug stream to # the generated PDB. According to MSDN documentation, this flag is only # available (or perhaps supported) in the Enterprise (team development) |