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

16 Коммитов

Автор SHA1 Сообщение Дата
David Major 26568e980b Bug 1635933 - Temporarily disable new pass manager on ubsan clang-10 r=froydnj
ubsan's generated code trips an optimization corner case in clang 10. This is a short-term workaround. In the best case, llvm.org/pr45835 will land a fix soon, and we can merge that for our clang-10 update and not even land this patch. However, in case we're living in anything other than the best case world, I don't want to block on that happening.

Differential Revision: https://phabricator.services.mozilla.com/D74727
2020-05-12 18:01:48 +00:00
Razvan Maries 6740f8e47d Backed out 2 changesets (bug 1616692, bug 1635933) for reftests perma failures. CLOSED TREE
Backed out changeset 7340fb8c2297 (bug 1616692)
Backed out changeset 5695aa933c38 (bug 1635933)
2020-05-12 20:59:06 +03:00
David Major bb0b9487b9 Bug 1635933 - Temporarily disable new pass manager on ubsan clang-10 r=froydnj
ubsan's generated code trips an optimization corner case in clang 10. This is a short-term workaround. In the best case, llvm.org/pr45835 will land a fix soon, and we can merge that for our clang-10 update and not even land this patch. However, in case we're living in anything other than the best case world, I don't want to block on that happening.

Differential Revision: https://phabricator.services.mozilla.com/D74727
2020-05-12 14:02:30 +00:00
Mike Hommey 314c1a65a3 Bug 1626951 - Disable new pass manager on aarch64-windows builds without LTO. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D69500

--HG--
extra : moz-landing-system : lando
2020-04-03 14:27:45 +00:00
Christian Holler 367201db7c Bug 1625268 - Disable new pass manager for fuzzing when using older Clang. r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D68525

--HG--
extra : moz-landing-system : lando
2020-03-27 13:32:06 +00:00
David Major 805504c21e Bug 1622168 - Disable new pass manager on non-pgo mac builds due to hangs r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D67952

--HG--
extra : moz-landing-system : lando
2020-03-25 14:24:08 +00:00
David Major a453b0920c Bug 1622856 - Disable new pass manager on Mac hosts r=firefox-build-system-reviewers,rstewart
Several developers have reported hangs on native Mac builds. I think we should disable the flag on Mac hosts. Even if we could fix the current hangs, without coverage in CI for this build configuration, we're asking for more trouble down the road.

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

--HG--
extra : moz-landing-system : lando
2020-03-16 17:57:41 +00:00
David Major 8c86c42e0f Bug 1619461 - Enable the new pass manager in clang builds. r=rstewart,glandium
LLVM's new pass manager has been in the works for several years and has better optimization (sometimes much better) than the legacy pass manager. I think it's in good enough shape for us to try at this point.

While we only really need the new pass manager for shippable builds, as a general principle I'd like to use it as much as possible, to help catch bugs for upstream. Therefore this patch enables the new pass manager by default for all clang builds, with the only exceptions being compilers older than version 9, and xcode clang where we can't trust the version number. There isn't a specific problem with older versions; I just don't want to sign up for the support cost of debugging people's local builds that may be fixed already.

I don't expect it to be necessary, but just in case, an opt-out is available via `ac_add_options --disable-new-pass-manager`.

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

--HG--
extra : rebase_source : 91df800146700e4958b8e645ebbd3cf7b11a2f1e
extra : source : 2f5aba2e2c099a1df26e3444ccec2be0b4ff4613
2020-03-11 02:08:37 +00:00
Andreea Pavel bfc7043d13 Backed out changeset 2f5aba2e2c09 (bug 1619461) for build bustages at testBug1117235.js on a CLOSED TREE 2020-03-11 16:42:42 +02:00
David Major 21170f3a10 Bug 1619461 - Enable the new pass manager in clang builds. r=rstewart,glandium
LLVM's new pass manager has been in the works for several years and has better optimization (sometimes much better) than the legacy pass manager. I think it's in good enough shape for us to try at this point.

While we only really need the new pass manager for shippable builds, as a general principle I'd like to use it as much as possible, to help catch bugs for upstream. Therefore this patch enables the new pass manager by default for all clang builds, with the only exceptions being compilers older than version 9, and xcode clang where we can't trust the version number. There isn't a specific problem with older versions; I just don't want to sign up for the support cost of debugging people's local builds that may be fixed already.

I don't expect it to be necessary, but just in case, an opt-out is available via `ac_add_options --disable-new-pass-manager`.

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

--HG--
extra : moz-landing-system : lando
2020-03-11 02:08:37 +00:00
Nathan Froyd 08b51223a9 Bug 1560666 - turn off C++17 aligned allocation support; r=glandium
Just like C++14 sized deallocation support, we don't want to support
this.  We shouldn't be using `new` on over-aligned types anyway.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 01:37:34 +00:00
Emilio Cobos Álvarez 879d99e739 Bug 1513009 - Deny Rust warnings on automation. r=ted
Summary:
I've chosen linux64-debug since it's the most visible build I usually do, but I
could do another build task or something, or use the static analysis builds, or
what not. Just let me know if there's a better way to do this.

Caveat: This might make updating Rust toolchains a bit more painful. I think
this is better and we should just deal with warnings before updating toolchains,
but I don't know if there'd be strong opposition to that.

Note that this does _not_ affect third-party code since Cargo passes
`--cap-lint warn` automatically for those.

Proof that it works:

 * https://treeherder.mozilla.org/#/jobs?repo=try&revision=4ad1e4e1392f71b574cff683e90c7b13bf8781d1
 * https://treeherder.mozilla.org/#/jobs?repo=try&revision=57604f92624bbe49037eee87c56fdb6bf2b5017d

Reviewers: #firefox-build-system-reviewers, ted

Reviewed By: #firefox-build-system-reviewers, ted

Subscribers: reviewbot, glandium, ted

Bug #: 1513009

Differential Revision: https://phabricator.services.mozilla.com/D14083
2018-12-14 23:35:47 +01:00
Gurzau Raul 3189fe85e8 Backed out changeset 8e348821b49f (bug 1513009) due to build compile failure on a CLOSED TREE 2018-12-14 01:56:43 +02:00
Emilio Cobos Álvarez d29a39cdfd Bug 1513009 - Deny Rust warnings on automation. r=firefox-build-system-reviewers,ted
I've chosen linux64-debug since it's the most visible build I usually do, but I
could do another build task or something, or use the static analysis builds, or
what not. Just let me know if there's a better way to do this.

Caveat: This might make updating Rust toolchains a bit more painful. I think
this is better and we should just deal with warnings before updating toolchains,
but I don't know if there'd be strong opposition to that.

Note that this does _not_ affect third-party code since Cargo passes
`--cap-lint warn` automatically for those.

Proof that it works:

 * https://treeherder.mozilla.org/#/jobs?repo=try&revision=4ad1e4e1392f71b574cff683e90c7b13bf8781d1
 * https://treeherder.mozilla.org/#/jobs?repo=try&revision=57604f92624bbe49037eee87c56fdb6bf2b5017d

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

--HG--
extra : moz-landing-system : lando
2018-12-13 19:17:31 +00:00
Mike Hommey ec8fa73867 Bug 1426555 - Allow to add host compiler flags from python configure. r=chmanchester
Bug 1325632 added some facility to add target compiler flags. This
change extends it to add allow adding host compiler flags as well.

--HG--
extra : rebase_source : 424b405a1d8f9a4778ff75c3308c9622f050e194
2017-12-21 11:11:22 +09:00
Nathan Froyd f51359bd19 Bug 1325632 - part 5 - ensure that we compile with -fno-sized-deallocation when possible; r=chmanchester
We currently turn off the C++14 sized-deallocation facility on MSVC, and
we'd like to ensure we do the same thing for clang and gcc.  To do so,
we add new functionality to moz.configure for checking and adding
compilation flags, similar to the facility for checking and adding
warning flags.  The newly added facility is then used to add
-fno-sized-deallocation to the compilation flags, when the option is
supported.

Once we do this, we can't define the sized deallocation functions in
mozalloc.h; the compiler will complain that we are using
-fno-sized-deallocation, yet defining these special functions that we'll
never use.  These functions were added for MinGW, where we needed to
compile with C++14 ahead of other platforms to be compatible with MSVC
headers.  But they're no longer necessary, though they would be if we
removed -fno-sized-deallocation; the compiler will complain if we do
that and we'll add them back at that point.
2017-11-15 14:53:16 -04:00