LLVM Weekly - #479, March 6th 2023

LLVM Weekly - #479, March 6th 2023

If you prefer, you can read a HTML version of this email at http://llvmweekly.org/issue/479.

Welcome to the four hundred and seventy-ninth issue of LLVM Weekly, a weekly newsletter (published every Monday) covering developments in LLVM, Clang, and related projects. LLVM Weekly is brought to you by Alex Bradbury. Subscribe to future issues at http://llvmweekly.org and pass it on to anyone else you think may be interested. Please send any tips or feedback to asb@asbradbury.org, or @llvmweekly or @asbradbury on Twitter.

There’s only a very tenuous LLVM link, but if you’re interested in RISC-V you might be curious to see my recent summary of commercially available RISC-V silicon.

News and articles from around the web and events

The EuroLLVM call for proposals was extended to Friday March 10th.

The next LLVM compiler social in Zurich will take place on 8th March and feature a talk “Multi-Level Rewriting for Stream Processing to RTL compilation”.

The Cambridge UK LLVM social has been rearranged for 7th March and will feature a talk “Inlining in MLIR” by Javed Absar.

MaskRay published linker notes on AArch64.

According to the LLVM calendar in the coming week there will be:

  • Office hours with the following hosts: Paulo Matos, Tobias Grosser, Anastasia Stulova, Kirostof Beyls, and Johannes Doerfert.
  • Online sync-ups on the following topics: Flang, SYCL, OpenMP, classic flang, loop optimisation, OpenMP for flang, MLIR, and SPIR-V.
  • For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.

On the forums

LLVM commits

  • Target extension types are now used to represent SPIR-V builtin types. 5ac69674.

  • llvm-readobj learned --memtag to read information related to memory tagging. a4d39d4.

  • LogicCombine was implemented, providing a general way to simplify logical operations. 97dcbea.

  • The CodeView reader for the llvm-debuginfo-analyzer was committed. e7950fc.

  • A post-isel peephole was added to fix cases on AArch64 where an FPR is copied to another FPR via a GPR. 72105d1.

  • An X86FixupInstTunings pass was added to replace slower machine instructions with faster ones. 69a322f.

  • The Alderlake P-Core scheduling model was improved. 3083b65.

  • TableGen now supports conditional definitions using !exists clauses. 04ed64e.

Clang commits

  • clang-format-diff.py learned the -j option to invoke clang-format processes in parallel, speeding up performance on large patches. d14e7ee.

  • update_cc_test_checks.py now includes return types and attributes when invoked with --fucntion-signature --version 2. a26d303.

  • -mcpu=help and -mtune=help were added while -mcpu=? and -mtune=? were removed. 003078b, fb166b4.

  • The Clang interpreter implemented C++ range-for loops. 2708869.

Other project commits

  • MLIR gained a duplicate function elimination pass. b12bcf3.

  • The COMPILER_RT_ENABLE_SOFTWARE_INT128 CMake option was added to enable building int128 routines even for 32-bit targets. c2d6cc9.

  • A basic Intel MacOS configuration was added for LLVM’s libc. effd56b.

  • LLD’s Wasm linker learned to produce a build_id section when passed the --build-id flag. c7af9ae.