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

Reply via email to