LLVM Weekly - #536, April 8th 2024

LLVM Weekly - #536, April 8th 2024

If you prefer, you can read the canonical version of this issue at http://llvmweekly.org/issue/536.

Welcome to the five hundred and thirty-sixth 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.

EuroLLVM is taking place this week - hopefully I’ll see many of you there!

News and articles from around the web and events

LLVM 18.1.3 was released.

David Malcolm blogged about improvements to static analysis in the GCC 14 compiler. Do check out the lovely text-based diagrams depicting a potential buffer overflow.

Rubén Pérez performed benchmarks and analysis of using C++20 modules with Boost.

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

  • Office hours with the following hosts: Aaron Ballman, Alexey Bader, Alina Sbirlea, Johannes Doerfert.
  • Online sync-ups on the following topics: pointer authentication, SPIR-V, new contributors, OpenMP, Clang C/C++ working group, Flang, BOLT, LLVM libc.
  • For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.

On the forums

LLVM commits

  • The AArch64 backend was tweaked to recognised that folding lsl into load/store operations is cheap on almost all cores. c83f23d.

  • atomicrmw floating point operations with vector types are now supported. 4cb110a.

  • llvm.allow.{runtime,ubsan}.check intrinsics were introduced. 90c738e.

  • Binary instrumentation for type profiling was implemented. 1351d17.

  • New InstCombines were added for select combined with and/or/xor. 4ef22fc.

  • The --preserve-input-debuginfo-format flag was added. 379628d.

  • The loop vectoriser started to learn to generate VP intrinsics. 413a66f.

Clang commits

  • A readability-enum-initial-value clang-tidy check was added. 3365d62.

  • Array temporary support for HLSL was implemented. 9434c08.

  • ExtractAPI can now create multiple symbol graphs. b31414b.

Other project commits

  • libcxx’s “current status” description was updated with information on the OSes that use it as the default implementation and an estimate of the number of user (1B daily active users!). 53d256b.

  • Flang’s ExternalNameConversion pass was dramatically sped up. 2d14ea6.

  • LLVM’s libc gained an atan2f implementation. 2be7225.

  • libclc’s CMake build system was improved, but more changes are still needed to properly support -in-tree builds. 61efea7.

  • LLD now supports AArch64 AUTH relocations. cca9115.

  • The offload subfolder and README were added. 33992ea.