LLVM Weekly - #591, April 28th 2025

LLVM Weekly - #591, April 28th 2025

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

Welcome to the five hundred and ninety-first 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 https://llvmweekly.org and pass it on to anyone else you think may be interested. Please send any tips or feedback via email: [email protected], or Mastodon: @[email protected] / @[email protected], or Bluesky: @llvmweekly.org / @asbradbury.org.

News and articles from around the web and events

The agenda for 2025 AsiaLLVM has now been posted.

The next LLVM Berlin meetup will take place on June 5th.

Romain Thomas blogged about using libFuzzer to fuzz a Windows Arm64 closed-source binary.

GCC 15 was released. Also see Red Hat’s blog post on new C++ features in GCC 15.

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

  • Office hours with the following hosts: Johannes Doerfert, Renato Golin.
  • Online sync-ups on the following topics: Flang, MLIR Tensor compiler, modules, SPIR-V, OpenMP for flang, HLSL working group, memory safety working group, MLGO.
  • For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.

On the forums

LLVM commits

  • CodeGenPrepare learned to unfold popcount when used in power-of-two tests. 5080a02.

  • llvm-extract now supports unnamed basic blocks. 8a57df6.

  • A large TargetTransformInfo refactoring was landed, replacing “concept based polymorphism” with the PImpl (pointer to implementation) idiom. bb17651.

  • Details of the LLVM CoC appeal process were clarified. a5a6ae1.

  • Additional types of stores are now supported in DebugInfo assignment tracking. 928c333.

  • The LLVM_ABI_FRIEND macro was introduced for friend function declarations. c049583.

  • The AMDGPU backend gained support for block load/store of callee saved registers. 5bad5d8.

  • The ForwardHandleAccesses pass was added to the DirectX backend. a83b4a2.

  • computeKnownBits was taught to use range metadata for atomic_load. f261f14.

  • The AssertNoFPClass SelectionDAG node was introduced, which can be used to mark a value we are sure isn’t some fp class type. f0c61d2.

Clang commits

  • As usual, further work on ClangIR upstreaming. e.g. StackSave and StackRestoreOp as part of support for variable length arrays. Also support for accessing structure members. 80872d7, 21bc23e.

  • Clang now supports copying records with fields using pointer authentication. 5b16941.

  • Various enhancements were made to alpha.webkit.RetainPtrCtorAdoptChecker. 16e5c3d.

Other project commits

  • MLIR’s generate-test-checks.py was updated to preserve original SSA names when generating LIT variable names for function arguments. 7ff3d3b.

  • The OpenMP API features supported by Flang were documented. 2c2ba7e.

  • The Fortran standards supported in Flang were documented. 45a3056.

  • The Wasm linker can now be safely invoked multiple times within the same process 9cbbb74.

1 Like

The link in both this post and the email that was sent out points to issue 590 instead of 591.

1 Like

Thank you! Fixed.

1 Like