Граф коммитов

8938 Коммитов

Автор SHA1 Сообщение Дата
Sylvestre Ledru 34acbb653a Bug 1619165 - Reformat recent changes to the Google coding style r=andi
First reformat with clang-format 10

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D68802
2020-04-25 09:40:08 +00:00
Kagami Sascha Rosylight 2f8b998e96 Bug 1628726 - Use os.path.realpath consistently r=rstewart
`os.path.realpath` in Python 3.8 now always uppercases Windows drive letter, while it was just an alias of `os.path.abspath` in Windows. This patch uses `.realpath()` consistently to get `topobjdir` to fix the incompatibility from the behavior change.

Differential Revision: https://phabricator.services.mozilla.com/D72188
2020-04-24 20:59:03 +00:00
Chris AtLee b246a1493c Bug 1632601: Create test archives for jsreftest and jittest r=ahal
Split out jsreftest and jittest files into their own packages, removing them
from the common package.

This speeds up extracting files from the common test archive for
non-jsreftest/jittest suites.

Also, remove some files from the web-platform test archive that are already
present in the common archive.

Differential Revision: https://phabricator.services.mozilla.com/D72192
2020-04-24 20:18:58 +00:00
Ricky Stewart 725728fc20 Bug 1621451 - Remove remaining in-build references to Python 2 GENERATED_FILES as well as underlying build system support r=dmajor
We still need to resolve bug 1621448, at which point we can delete the `py_action` macro entirely.

Differential Revision: https://phabricator.services.mozilla.com/D71795
2020-04-22 17:34:23 +00:00
David Major fd23aa320b Bug 1632542 - Regenerate linker order files, April 2020 edition r=rstewart
The original commit message for the order files says "It's OK if these files are slightly out of date", and that's true. However, in the 11 months since then, our builds have undergone major changes that affect large numbers of final symbol names, like switching from Frontend to IR PGO, and enabling the new pass manager. I think at this point a refresh wouldn't hurt.

I generated these files by locally creating a "stage 2.5" PGO build that's both `-fprofile-use` _and_ `-finstrument-functions-after-inlining`, and otherwise following the instructions from bug 1444171. Doing this at the `use` stage rather than the `gen` stage lets us get around the problem of mixing IR and Frontend instrumentation. It also gets us a more accurate picture of the final optimizations.

I haven't exhaustively run this through Talos. I did some spot checks, most were within noise, Speedometer maaybe gets 0.6%. I don't think this is worth hogging the talos machines for a full run, we can get the results after landing.

If for no other reason, this is worth doing to reduce 8000 lines of warning LNK4037 (order file refers to a nonexistent symbol) in build logs down to about 15.

Differential Revision: https://phabricator.services.mozilla.com/D72171
2020-04-24 13:40:01 +00:00
Mike Hommey 56ca1ef0e7 Bug 1631211 - In configure, pass extra compiler flags after source path. r=dmajor,rstewart
When running e.g. check_symbols with extra flags like when checking
for vpx_codec_dec_init_ver when building against system libvpx, in some
configurations, the test can fail when the library flags (-l) appear
before the source file path.

The reason is that in some configurations, the compiler passes
--as-needed to the linker before both the flags and the object file
path, and the object file path is in the same position as the source
file path was. With --as-needed, -l flags are dropped if the library
wasn't needed for any of the linked code that appears *before* the flag.
So linking with `--as-needed -lfoo foo.o`, is equivalent to linking with
`foo.o` only in practice, while `--as-needed foo.o -lfoo` is equivalent
to `foo.o -lfoo`.

Differential Revision: https://phabricator.services.mozilla.com/D71456
2020-04-23 21:46:01 +00:00
Rob Lemley a41eba98d9 Bug 1630041 - Allow setting the update host via set define at build time. r=glandium
Bug 1568994 moved the URL for the update server to application.ini. Thunderbird
uses a different hostname for the update URL; the URL path is the same.

I've added a set_config('MOZ_APPUPDATE_HOST') to Thunderbird's moz.configure
file which will override the default.

Differential Revision: https://phabricator.services.mozilla.com/D70964
2020-04-23 08:08:39 +00:00
Stefan Hindli ef4387df22 Backed out changeset 5773db17cbbf (bug 1631211) for breaking tier2 mbu tests CLOSED TREE 2020-04-23 00:45:58 +03:00
Stefan Hindli f64adba7c4 Backed out changeset 823857306bce (bug 1435148) for causing bug 1631468 CLOSED TREE 2020-04-23 00:18:26 +03:00
shravanrn@gmail.com e0273c024b Bug 1626174 - Enable use of wasm sandboxed libOgg in the OggDemuxer in linux, mac, try servers r=padenot,erahm,dmajor,firefox-build-system-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D70652
2020-04-22 11:16:10 +00:00
Andi-Bogdan Postelnicu fa006f3af3 Bug 1629853 - revert D69573 from clang-format. r=sylvestre
Differential Revision: https://phabricator.services.mozilla.com/D71918
2020-04-22 11:03:05 +00:00
Rob Lemley ca17e0a4bc Bug 1631627 - Change 1stage clang-cl to 2stage. r=dmajor
The clang_rt.builtins lib files produced by the 1stage build do not include
functions necessary for 128bit integers. This functionality is required by the
OpenPGP libraries that Thunderbird is using, specifically Botan's bigint module.

When compiler-rt is built with MSVC, these functions are not included
by design.

Differential Revision: https://phabricator.services.mozilla.com/D71785
2020-04-21 18:47:55 +00:00
Brindusan Cristian c4fd863aaa Backed out 2 changesets (bug 1626174, bug 1625876) for build bustages at LibrarySandboxPreload.cpp and OggDemuxer.cpp. CLOSED TREE
Backed out changeset 40fea0f3ab6c (bug 1626174)
Backed out changeset a3117fce845d (bug 1625876)
2020-04-21 19:29:02 +03:00
shravanrn@gmail.com f0399f4146 Bug 1626174 - Enable use of wasm sandboxed libOgg in the OggDemuxer in linux, mac, try servers r=padenot,erahm,dmajor,firefox-build-system-reviewers
Depends on D68764

Differential Revision: https://phabricator.services.mozilla.com/D70652
2020-04-21 15:30:37 +00:00
Ricky Stewart 4cd9fd2463 Bug 1629797 - Don't rely on subprocess's default encoding in configure, and instead interpret the binary output ourselves. r=glandium
This matches up to what we were doing before the Python 3 switch. Subprocess.Popen's default encoding doesn't necessarily match up to the system encoding as reported by mozbuild.util.system_encoding, and pre-Python 3.6 the constructor doesn't have `encoding` or `errors` parameters for no apparent reason. In the meantime, do the decoding manually.

Differential Revision: https://phabricator.services.mozilla.com/D71193
2020-04-21 15:18:13 +00:00
Ricky Stewart de06436cd7 Bug 1621441 - Update Python scripts that depend on PyECC to run in Python 3 and to leverage the ecdsa library instead r=glandium,keeler
Unfortunately, since the new ecdsa library has a different interface and slightly different inner workings compared to the old PyECC library, the changes to support this update are not trivial. Luckily the ecdsa library is extensible enough to allow us to adjust the library's functionality with function parameters rather than monkey-patching, as we were doing with the previous version of the code. All of these interface changes are in addition to the normal rote Python 3 updates. This was tested by running a build with and without this patch and ensuring there were no unexpected diffs.

Differential Revision: https://phabricator.services.mozilla.com/D70117
2020-04-17 20:56:09 +00:00
Ricky Stewart ba8cb27b54 Bug 1621440 - Add Python 3-compatible library ecdsa to eventually replace the legacy PyECC library r=glandium
Code vendored as usual with `mach vendor python`.

Differential Revision: https://phabricator.services.mozilla.com/D69870
2020-04-21 04:31:25 +00:00
Tooru Fujisawa 2108f90fcf Bug 1623965 - Improve error message when binary not found while testing. r=glandium,remote-protocol-reviewers,marionette-reviewers,webdriver-reviewers,perftest-reviewers,Bebe,whimboo
Differential Revision: https://phabricator.services.mozilla.com/D67726
2020-04-21 11:58:04 +00:00
Mike Hommey 4bf8161c8f Bug 1631211 - In configure, pass extra compiler flags after source path. r=dmajor
When running e.g. check_symbols with extra flags like when checking
for vpx_codec_dec_init_ver when building against system libvpx, in some
configurations, the test can fail when the library flags (-l) appear
before the source file path.

The reason is that in some configurations, the compiler passes
--as-needed to the linker before both the flags and the object file
path, and the object file path is in the same position as the source
file path was. With --as-needed, -l flags are dropped if the library
wasn't needed for any of the linked code that appears *before* the flag.
So linking with `--as-needed -lfoo foo.o`, is equivalent to linking with
`foo.o` only in practice, while `--as-needed foo.o -lfoo` is equivalent
to `foo.o -lfoo`.

Differential Revision: https://phabricator.services.mozilla.com/D71456
2020-04-20 14:07:15 +00:00
Iain Ireland 940b09c9e0 Bug 1630383: Add irregexp to ignore list for implicit constructor static analysis r=sfink
The V8 code in the new engine uses implicit constructors with wild abandon, and it doesn't seem like a good use of time to try upstreaming a patch to remove them.

Depends on D71355

Differential Revision: https://phabricator.services.mozilla.com/D71356
2020-04-17 17:18:57 +00:00
Jesse Schwartzentruber 9d87851a27 Bug 1435148 - Disable jemalloc when any sanitizer is used. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D70092
2020-04-20 14:35:20 +00:00
David Major a6a4043334 Bug 1630661 - Fix webaudio querystring to autostart for PGO r=padenot
One of the recent changes made it so that the test doesn't start on its own unless the URL has "raptor".

I've confirmed that this
- Does not swamp out the profdata file
- Does not regress displaylist-mutate
- Improves the webaudio score

Differential Revision: https://phabricator.services.mozilla.com/D71197
2020-04-16 16:48:07 +00:00
Tetsuharu OHZEKI 10d22df012 Bug 1594283 - part 2: Rename nsIDocShell::GetSameTypeParentIgnoreBrowserBoundaries to nsIDocShell::GetSameTypeInProcessParentIgnoreBrowserBoundaries. r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D70549

--HG--
extra : moz-landing-system : lando
2020-04-14 19:17:21 +00:00
Axel Hecht 6fc0ca0a3b Bug 1628663, mach vendor python for l10n, move files to final destination, r=firefox-build-system-reviewers,rstewart
We've used to install both fluent.syntax and fluent.migrate into fluent,
split them up to make the diff of the actual vendor changes smaller.

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

--HG--
rename : third_party/python/fluent/fluent/__init__.py => third_party/python/fluent.migrate/fluent/__init__.py
rename : third_party/python/fluent/fluent/migrate/__init__.py => third_party/python/fluent.migrate/fluent/migrate/__init__.py
rename : third_party/python/fluent/fluent/migrate/blame.py => third_party/python/fluent.migrate/fluent/migrate/blame.py
rename : third_party/python/fluent/fluent/migrate/changesets.py => third_party/python/fluent.migrate/fluent/migrate/changesets.py
rename : third_party/python/fluent/fluent/migrate/context.py => third_party/python/fluent.migrate/fluent/migrate/context.py
rename : third_party/python/fluent/fluent/migrate/errors.py => third_party/python/fluent.migrate/fluent/migrate/errors.py
rename : third_party/python/fluent/fluent/migrate/helpers.py => third_party/python/fluent.migrate/fluent/migrate/helpers.py
rename : third_party/python/fluent/fluent/migrate/merge.py => third_party/python/fluent.migrate/fluent/migrate/merge.py
rename : third_party/python/fluent/fluent/migrate/tool.py => third_party/python/fluent.migrate/fluent/migrate/tool.py
rename : third_party/python/fluent/fluent/migrate/transforms.py => third_party/python/fluent.migrate/fluent/migrate/transforms.py
rename : third_party/python/fluent/fluent/migrate/util.py => third_party/python/fluent.migrate/fluent/migrate/util.py
rename : third_party/python/fluent/fluent/migrate/validator.py => third_party/python/fluent.migrate/fluent/migrate/validator.py
rename : third_party/python/fluent/fluent/__init__.py => third_party/python/fluent.syntax/fluent/__init__.py
rename : third_party/python/fluent/fluent/syntax/__init__.py => third_party/python/fluent.syntax/fluent/syntax/__init__.py
rename : third_party/python/fluent/fluent/syntax/ast.py => third_party/python/fluent.syntax/fluent/syntax/ast.py
rename : third_party/python/fluent/fluent/syntax/errors.py => third_party/python/fluent.syntax/fluent/syntax/errors.py
rename : third_party/python/fluent/fluent/syntax/parser.py => third_party/python/fluent.syntax/fluent/syntax/parser.py
rename : third_party/python/fluent/fluent/syntax/serializer.py => third_party/python/fluent.syntax/fluent/syntax/serializer.py
rename : third_party/python/fluent/fluent/syntax/stream.py => third_party/python/fluent.syntax/fluent/syntax/stream.py
extra : moz-landing-system : lando
2020-04-14 17:24:59 +00:00
David Major 4f3ce0d1f3 Bug 1628479 - Add a single-stage clang-cl toolchain task r=glandium
Currently the linux64-clang-9-win-cross toolchain depends on the win64-clang-cl toolchain for a few files. This causes very long lead times when toolchains are rebuilt, because of the un-parallelizable chain of tasks win64-clang-cl -> linux64-clang-9-win-cross -> builds.

As a partial mitigation, this patch adds a single-stage clang-cl build for consumption by the cross toolchain. It's not a very high quality build, but good enough for the purpose it serves, while being faster to build.

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

--HG--
rename : build/build-clang/clang-win64.json => build/build-clang/clang-win64-1stage.json
extra : moz-landing-system : lando
2020-04-14 03:00:34 +00:00
Nicholas Nethercote 8139b4051e Bug 1619840 - Remove `fix_{linux,macosx}_stack.py` and `fix_stack_using_bpsyms.py`. r=erahm
This commit removes `test_fix_stack_using_bpsyms.py`. That test can't easily be
modified to work with `fix_stacks.py` because it relies on internal
implementation details of `fix_stack_using_bpsym.py`. The unit testing done in
the `fix-stacks` repo provides test coverage that is as good or better.

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

--HG--
extra : moz-landing-system : lando
2020-04-08 06:55:54 +00:00
Andrea Marchesini a765ed14dd Bug 1363541 - Modernize the PermissionManager - part 3 - DB handling in a separate thread, r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D69965

--HG--
extra : moz-landing-system : lando
2020-04-11 13:41:19 +00:00
Dzmitry Malyshau 34dac56d81 Bug 1628754 - CBindGen update to 0.14.1 r=emilio,kats
Differential Revision: https://phabricator.services.mozilla.com/D70421

--HG--
extra : moz-landing-system : lando
2020-04-10 19:13:25 +00:00
Razvan Maries b74e338c98 Backed out 6 changesets (bug 1363541) for perma failures. CLOSED TREE
Backed out changeset a775f6e9eb41 (bug 1363541)
Backed out changeset 9212bfd89eca (bug 1363541)
Backed out changeset bf41b0c139f6 (bug 1363541)
Backed out changeset aa7c6668b249 (bug 1363541)
Backed out changeset 9f413a8a47bb (bug 1363541)
Backed out changeset 827a9a2866bd (bug 1363541)

--HG--
rename : extensions/permissions/Permission.cpp => extensions/permissions/nsPermission.cpp
rename : extensions/permissions/Permission.h => extensions/permissions/nsPermission.h
rename : extensions/permissions/PermissionManager.cpp => extensions/permissions/nsPermissionManager.cpp
rename : extensions/permissions/PermissionManager.h => extensions/permissions/nsPermissionManager.h
2020-04-10 11:31:20 +03:00
Andrea Marchesini f78d7b4bd4 Bug 1363541 - Modernize the PermissionManager - part 3 - DB handling in a separate thread, r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D69965

--HG--
extra : moz-landing-system : lando
2020-04-10 06:36:03 +00:00
Mihai Alexandru Michis 6013b44308 Backed out changeset e60ce7274c9f (bug 1628754) for causing bustages in ServoStyleConsts.h
CLOSED TREE
2020-04-10 04:05:15 +03:00
Dzmitry Malyshau e71799ed9d Bug 1628754 - Cbindgen update to 0.14.0 r=kats
Differential Revision: https://phabricator.services.mozilla.com/D70421

--HG--
extra : moz-landing-system : lando
2020-04-09 21:10:40 +00:00
Ricky Stewart c8269c0f4d Bug 1628131 - Import WINFUNCTYPE from the correct module to preserve compatibility across py2/py3 r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D70430

--HG--
extra : moz-landing-system : lando
2020-04-09 19:13:44 +00:00
Mike Hommey 2c5762dade Bug 1628519 - Use os.path.realpath in coverage_cflags. r=rstewart
Differential Revision: https://phabricator.services.mozilla.com/D70315

--HG--
extra : moz-landing-system : lando
2020-04-09 20:44:15 +00:00
Andi-Bogdan Postelnicu 56a9802f89 Bug 1625884 - move `clang-tidy` and `clang-format` to `clang-10`. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D70065

--HG--
extra : moz-landing-system : lando
2020-04-09 14:16:44 +00:00
Andi-Bogdan Postelnicu 741565d15e Bug 1625884 - add `clang-10` to `linux64` `clang-tools`. r=nalexander,dmajor
Patches that are applied on top on `clang-10` repo are based on the original
patches from our trunk and have been rebased on top of `clang-10`.
Please see as an example: `find_symbolizer_linux.patch` copied to `find_symbolizer_linux_clang_10.patch`.

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

--HG--
rename : build/build-clang/clang-linux64.json => build/build-clang/clang-10-linux64.json
rename : build/build-clang/find_symbolizer_linux.patch => build/build-clang/find_symbolizer_linux_clang_10.patch
rename : build/build-clang/llvmorg-11-init-4265-g2dcbdba8540.patch => build/build-clang/llvmorg-11-init-4265-g2dcbdba8540_clang_10.patch
rename : build/build-clang/rG7e18aeba5062.patch => build/build-clang/rG7e18aeba5062_clang_10.patch
rename : build/build-clang/rename_gcov_flush.patch => build/build-clang/rename_gcov_flush_clang_10.patch
rename : build/build-clang/tsan-hang-be41a98ac222.patch => build/build-clang/tsan-hang-be41a98ac222_clang_10.patch
rename : build/build-clang/unpoison-thread-stacks.patch => build/build-clang/unpoison-thread-stacks_clang_10.patch
extra : moz-landing-system : lando
2020-04-09 14:16:48 +00:00
Coroiu Cristina d37de5ed78 Backed out 6 changesets (bug 1363541) for browser-chrome failures at browser/base/content/test/performance/browser_startup_mainthreadio.js on a CLOSED TREE
Backed out changeset 947073be919f (bug 1363541)
Backed out changeset 1f397b686c11 (bug 1363541)
Backed out changeset d2ba944a47a3 (bug 1363541)
Backed out changeset 80d4d1f0c921 (bug 1363541)
Backed out changeset 9d6b9052f413 (bug 1363541)
Backed out changeset aeaa10789071 (bug 1363541)

--HG--
rename : extensions/permissions/Permission.cpp => extensions/permissions/nsPermission.cpp
rename : extensions/permissions/Permission.h => extensions/permissions/nsPermission.h
rename : extensions/permissions/PermissionManager.cpp => extensions/permissions/nsPermissionManager.cpp
rename : extensions/permissions/PermissionManager.h => extensions/permissions/nsPermissionManager.h
2020-04-10 01:00:15 +03:00
Andrea Marchesini f71aefda4e Bug 1363541 - Modernize the PermissionManager - part 3 - DB handling in a separate thread, r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D69965

--HG--
extra : moz-landing-system : lando
2020-04-09 13:26:29 +00:00
Mihai Alexandru Michis 55acbee264 Merge mozilla-central to autoland a=merge on a CLOSED TREE 2020-04-09 22:35:35 +03:00
Cosmin Sabou 60934f9072 Backed out 3 changesets (bug 1625884) as requested by ANdi for causing build bustages. a=backout
Backed out changeset a35cfda6e271 (bug 1625884)
Backed out changeset 412c8c401196 (bug 1625884)
Backed out changeset 927ff250bc4b (bug 1625884)
2020-04-09 16:14:06 +03:00
Simon Giesecke ee4a4129a1 Bug 1605075 - Ignore kfdg variables initialized from xvalues in KungFuDeatGripChecker. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D70325

--HG--
extra : moz-landing-system : lando
2020-04-09 09:48:13 +00:00
David Major 3f00878b3c Bug 1628492 - Remove the linux64-clang-9-cross toolchain r=glandium
The `linux64-clang-9-cross` toolchain was forked from `linux64-clang-9` in https://hg.mozilla.org/integration/autoland/rev/ca923afe3ed4 in order to pick up a patch for Windows compilation.

This is no longer necessary for two reasons:
1. Windows builds stopped depending on that patch in bug 1608460.
2. Even if we still needed that patch, the `linux64-clang-9` toolchain gained all of the Windows patches in bug 1618473.

Therefore the `clang-dist` task can go back to using unmodified `linux64-clang-9`.

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

--HG--
extra : moz-landing-system : lando
2020-04-09 06:15:28 +00:00
Andi-Bogdan Postelnicu ffe0a6a754 Bug 1625884 - move `clang-tidy` and `clang-format` to `clang-10`. r=nalexander
Differential Revision: https://phabricator.services.mozilla.com/D70065

--HG--
extra : moz-landing-system : lando
2020-04-09 05:28:34 +00:00
Andi-Bogdan Postelnicu 06e7a3c818 Bug 1625884 - add `clang-10` to `linux64` `clang-tools`. r=nalexander,dmajor
Patches that are applied on top on `clang-10` repo are based on the original
patches from our trunk and have been rebased on top of `clang-10`.
Please see as an example: `find_symbolizer_linux.patch` copied to `find_symbolizer_linux_clang_10.patch`.

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

--HG--
rename : build/build-clang/clang-linux64.json => build/build-clang/clang-10-linux64.json
rename : build/build-clang/find_symbolizer_linux.patch => build/build-clang/find_symbolizer_linux_clang_10.patch
rename : build/build-clang/llvmorg-11-init-4265-g2dcbdba8540.patch => build/build-clang/llvmorg-11-init-4265-g2dcbdba8540_clang_10.patch
rename : build/build-clang/rG7e18aeba5062.patch => build/build-clang/rG7e18aeba5062_clang_10.patch
rename : build/build-clang/rename_gcov_flush.patch => build/build-clang/rename_gcov_flush_clang_10.patch
rename : build/build-clang/tsan-hang-be41a98ac222.patch => build/build-clang/tsan-hang-be41a98ac222_clang_10.patch
rename : build/build-clang/unpoison-thread-stacks.patch => build/build-clang/unpoison-thread-stacks_clang_10.patch
extra : moz-landing-system : lando
2020-04-09 05:27:50 +00:00
Oana Pop Rus 19cf0ce806 Backed out changeset d52d4b62a347 (bug 1435148) for python tier2 failures in test_moz_configure.py on a CLOSED TREE
--HG--
extra : rebase_source : e49f5784a059023d769f6b554cc19c4151200949
2020-04-09 00:07:32 +03:00
Jesse Schwartzentruber a91be586fd Bug 1435148 - Disable jemalloc when any sanitizer is used. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D70092

--HG--
extra : moz-landing-system : lando
2020-04-08 18:01:03 +00:00
David Major 9caebd9642 Bug 1326486 - build-clang: Convert 3-stage builds to 4-stage PGO builds. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D69084

--HG--
extra : moz-landing-system : lando
2020-04-07 14:12:51 +00:00
David Major b9ae8ced29 Bug 1326486 - build-clang: Add support for PGO builds. r=glandium
This adds the ability to do four-stage PGO builds. This was surprisingly straightforward thanks to PGO being a well-supported scenario in LLVM's cmake.

For reference, the stages are:
stage1: Initial build with gcc
stage2: Instrumented build using stage1
stage3: Train by using the instrumented stage2 to build the clang tree
stage4: Optimize using the stage3 compiler and the profdata created with it

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

--HG--
extra : moz-landing-system : lando
2020-04-07 14:12:58 +00:00
David Major ac66ff483a Bug 1326486 - build-clang: Add support for 4-stage builds r=glandium
Separating out the mechanical/"boring" changes to make the next patch more clear. This patch adds the ability to build a fourth stage that for now doesn't do anything special.

I changed to using >= to make it more obvious that e.g. "here is what's going to happen for stage 2" -- the off-by-one was too hard on my brain.

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

--HG--
extra : moz-landing-system : lando
2020-04-07 14:13:01 +00:00
David Major e97651891b Bug 1326486 - build-clang: Merge LLVM a84b200e604 to fix Windows PGO. r=glandium
a84b200e60

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

--HG--
extra : moz-landing-system : lando
2020-04-07 14:12:54 +00:00