On Tue, May 29, 2018 at 1:48 PM, Jeff Gilbert <jgilb...@mozilla.com> wrote:
> It would be sad to see us standardize on a clang monoculture. > I am sympathetic to that concern. (I have similar monoculture fears that the open source world is over-pivoting towards non-OSS platforms like GitHub and Slack as well.) We will still support GCC on at least Linux because many downstream distributions rely on it. I'm not sure what tier it will be supported at. But I suspect it will be tier 1 for the foreseeable future. Although we may not be able to fully test every revision with GCC due to capacity/cost reasons. We can certainly get build coverage in CI and periodic test coverage. So maybe that means tier 2 by definition. But nobody on the build side is seriously talking about dropping GCC support completely. MSVC is a separate beast. It is a great compiler. But it is also closed source and Windows only. Visual Studio is a great IDE and getting better with every release. So that would be a compelling reason to keep MSVC support. But Visual Studio supports Clang natively these days. And you can always configure solutions to "shell out" to an alternate build backend (that's how the autogenerated Visual Studio files work today). So I'm less confident that we will retain MSVC support longer than required to safely complete the transition to Clang. Does that assuage your concerns? > > On Tue, May 1, 2018 at 7:56 PM, Anthony Jones <ajo...@mozilla.com> wrote: > > You may already know that the Low-Level Tools team support important > tools > > and code infrastructure. Lately we’ve also been improving our rustc/clang > > (LLVM) story and I’d like bring everyone up to date. > > > > > > There are a lot of important and interesting things going on: > > > > > > Michael Woerister and Nathan Froyd recently (mid-March) enabled Rust > > incremental compilation for Firefox developers > > > > Michael is experimenting with cross language inlining (rustc/clang) using > > LTO > > > > Preliminary results show compiling LLVM with clang and using LTO on rustc > > improves stylo compilation time by around 15% > > > > LTO requires more work to support Firefox > > > > Nick Nethercote has started speeding up rustc and has already had a > number > > of wins > > > > David Major has got Windows clang builds working with green tests > > > > LTO is still buggy (but works well enough to run benchmarks) and PGO > won’t > > run on Windows > > > > Win32 - clang with LTO w/o PGO is marginally faster than MSVC with > LTO/PGO > > > > Win64 - clang with LTO w/o PGO is ~5-10% slower than MSVC with LTO/PGO > > > > Windows users can build locally with clang > > > > Mike Hommey is tracking improvements and regressions in the Rust compiler > > (performance regression, crash reporting and more crash reporting) > > > > Tom Tromey is continuing to work on first class Rust support in GDB and > LLDB > > > > > > Ultimately, I’d like to see us standardise on clang on all platforms > because > > it makes Rust/C++ integration better as well as making things simpler for > > developers and build system maintainers. We’ll get more done if we make > our > > own lives simpler. > > > > > > I have some specific requests: > > > > > > Let me know if you have specific Firefox cases where Rust is slowing you > > down > > > > Cross language inlining is coming - avoid duplication between Rust and > C++ > > > > Start doing your developer builds with clang > > > > Anthony > > > > > > > > _______________________________________________ > > dev-platform mailing list > > dev-platform@lists.mozilla.org > > https://lists.mozilla.org/listinfo/dev-platform > > > _______________________________________________ > dev-platform mailing list > dev-platform@lists.mozilla.org > https://lists.mozilla.org/listinfo/dev-platform > _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform