LLVM Weekly - #581, February 17th 2025

LLVM Weekly - #581, February 17th 2025

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

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

News and articles from around the web and events

The /r/cpp moderator’s Hagenberg ISO C++ committee trip report is up. See especially the update on C++ profiles.

The next Portland LLVM meetup was pushed out a week to February 20th.

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

  • Office hours with the following hosts: Phoebe Wang, Aaron Ballman, Johannes Doerfert.
  • Online sync-ups on the following topics: flang, vectoriser, libc++, security working group, LLVM area team, LLVM/Offload, classic flang, C/C++ language working gropu, SPIR-V, floating point, OpenMP for flang, instructure area team.
  • For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.

On the forums

LLVM commits

  • Guidance on handling large formatting changes within PRs was clarified. f845497.

  • The LoongArchMergeBaseOffset pass learned to merge base and offsets for tle-le code sequences. 0b5c318.

  • Guidance on backporting fixes to the release branch was clarified. 308d286.

  • The unused TargetIntrinsicInfo class was removed. 0f674cc.

  • The llvm.sincospi intrinsic was introduced. 701223a.

  • The long-deprecated OperandMatchResultTy enum was removed. d222488.

  • An errno memory location kind was introduced to IR. ff585fe.

  • Discord invite links are now placed alongside links to Discord channels (as the channel links aren’t usable unless you joined the server via invite at some point). db2953d.

  • A FatLTOCleanup pass was added. 63c1be7.

  • The mul constant expression was removed. d8b2e43.

  • A generic OoO RISC-V scheduling model was added. 7eadc19.

Clang commits

  • __builtin_assume_dereferenceable was introduced, allowing you to provide the optimiser with knowledge that the pointer argument is dereferenceable up to at least the specified number of bytes. 50d10b5.

  • Combinations of -f(no-)strict-overflow, -f(no-)wrapv, f(no-)wrapv-pointer are now handled in the same way that GCC does (process left-to-right and pick whatever is active at the end). 783275e.

  • Declaration attributes on void parameters is no longer allowed. aeeeeab.

  • Documentation was written on using perf and uftrace to debug performance issues in Clang. 1337b0f.

  • The clang static analyzer gained a new assume-at-least-one-iteration option. edbc1fb.

  • HLSL initialisation list support was implemented. 761d422.

Other project commits

  • LLDB’s breakpoint handling behaviour has been changed. It now only sets a thread’s stop reason to breakpoint-hit when the instruction has actually been executed / the breakpoint has been triggered. b666ac3.

  • MLIR’s deprecated buffer-deallocation pass was removed. 213917b.

  • Flang now generates proper ABI flags for RISC-V in the emitted ELF. 8da8ff8.

  • It should now be possible to build flang against an installed MLIR. c30a7f4.

  • strftime was implemented in LLVM’s libc. 398f865.

  • Additional linker relaxations were implemented in LLD for LoongArch. 6c54ab5.