LLVM Weekly - #500, July 31st 2023

LLVM Weekly - #500, July 31st 2023

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

Welcome to the five hundredth 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, @llvmweekly or @asbradbury on Twitter, or @llvmweekly@fosstodon.org or @asb@fosstodon.org.

As you may have noticed, today marks the milestone of 500 issues (and still, amazingly, not a single week missed). Thank you everyone for reading! The big one for me is going to be the 10 year mark, coming up on January 1st 2024.

News and articles from around the web and events

The call for speakers deadline for the LLVM Developers’ Meeting has been extended to August 4th.

Even more video recordings from EuroLLVM were uploaded.

Trail of Bits blogged about the future of Clang-based tooling, which discusses projects such as PASTA (a C++ and Python wrapper around much of Clang’s API) and VAST, a new MLIR-based middle-end to

The next LLVM Bay Area Monthly meetup will take place on Monday August 14th.

Version 2.0.0 of the mold high-speed linker has been released, moving from AGPL to the MIT license.

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

  • Office hours with the following hosts: Anastasia Stulova, Johannes Doerfert.
  • Online sync-ups on the following topics: OpenMP, Clang C/C++ language working group, Flang, RISC-V, MLIR open meeting, HLSL, MLGO.
  • For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.

On the forums

LLVM commits

  • Trunk is now 18.0.0git. ab72028.

  • APIs were added to manipulate InterfaceFiles, the in-memory representation for tbd files. 16c1f43.

  • GlobPattern from the Support library was rewritten. 4553dc4.

  • Additional instructions from the v4 ISA are now supported in the BPF backend. 6c412b6.

  • The GIntrinsic subclass of GenericMachineInstr was introduced. 7c760b2.

  • A new code layout algorithm for function reordering was added. bc59faa.

  • Codegen support was added for the RISC-V BFloat16 zfbfmin, zvbfmin, and zvbfwma extensions. f375ee3, 2b6df4a.

  • MC layer support was added for the vendor-specific XCValu, XCVsimd, and XCVbi RISC-V extensions, used in the open source CV32E40P. 092e60a, 3c0604b, afb9c04.

  • Initial mapping symbol support for RISC-V was committed. a0d8a53.

Clang commits

  • The bugprone-empty-catch, performance-enum-size, bugprone-multi-level-implicit-pointer-conversation, and readability-reference-to-constructed-temporary checks were added to clang-tidy. 047273f, 3397dae, 315946c, 87d0aed.

  • Clang’s support for ‘HIP’ (Heterogeneous-Compute Interface for Portability) was documented. 795e934.

  • LoongArch gained support for -march=native and -mtune. c56514f.

  • __builtin_elementwise_pow was added. 3a98e73.

  • The AlignConsecutiveShortCaseStatements clang-format option was introduced. 74720d1.

  • Documentation for the taint propagation checker was improved. 4dbe2db.

Other project commits

  • LoongArch support landed in LLD. 6084ee7.

  • std::mdspan was implemented in libcxx. fc48765.

  • Minimal example MLIR tools were added, which serves to demonstrate MLIR’s binary footprint. e.g. mlir-cat including the core IR, textual parser/printer and support for bytecode is 2MB in a Release build. e7f8b45.

  • LLVM’s OpenMP lib’s command line reference was extended, documenting command-line options relevant to offloading. 5c0f98c.


Alex, thank you and congratulations! 500 may be an arbitrary decimal milestone but it is still super impressive. I am a big fan and an avid reader of LLVM Weekly.