LLVM Weekly - #583, March 3rd 2025
If you prefer, you can read the canonical version of this issue at https://llvmweekly.org/issue/583.
Welcome to the five hundred and eighty-third 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: 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 CFP for the MLIR workshop at the EuroLLVM developer meeting is open, with a deadline of 9th March for submissions.
Alex Bradbury wrote a short post on configuring ccache for use with multiple Clang/LLVM builds in different directories.
Shafik Yaghmour blogged about what you need to know when optimisations change the behaviour of your C++.
I’ll preface the normal rundown of LLVM events / office hours with a PSA that the USA enters daylight savings time this coming Sunday 9th March, while UK/Europe and potentially other areas don’t follow suit until March 30th. According to the LLVM calendar in the coming week there will be the following:
- Office hours with the following hosts: Quentin Colombet, Johannes Doerfert, Renato Golin.
- Online sync-ups on the following topics: Flang, MLIR C/C++ frontend, C++ modules, LLVM area team, LLVM/Offload, classic flang, Clang C/C++ language working group, SPIR-V, infrastructure area team, LLVM memory safety working group, HLSL, MLGO.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
-
Javed Absar shared an MLIR PSA on deprecating linalg named elementwise ops.
-
Owen Rodley proposed keeping GlobalValue GUIDs stable.
-
LLVM 20.1.0-rc3 was released
-
Sam Elliott started a thread to try to clarify the policy on updates to code imported into the llvm-test-suite repo.
-
Cristian Assaiante shared some performance regressions in SPEC 2017 benchmarks observed on x86_64.
-
The February 2025 LLVM Foundation board meeting minutes have been posted.
-
Joseph Huber posted an RFC thread on handling math libcalls with LTO.
-
MLIR News #74 is now available
-
Luca Haaks is a PhD student in management science at LMU Munich and is looking for LLVM contributors to interview as part of research into coordination dynamics in open source software communities.
LLVM commits
-
Initial RISC-V vector support was added to llvm-exegesis. c253e5c.
-
Telemetry is no longer disabled by disabling building of the library (which led to awkwardness like
#ifdefs), but by modifyingLLVM_ENABLE_TELEMETRY. If this is set to false, telemetry cannot be enabled and no data can be collected. 159b872. -
The LangRef now clarifies that the pointer after an object must be valid. 47822c8.
-
LLVM’s coding standards document coverage on anonymous namespaces was reworked to cover visibility more broadly. 5bddadf.
-
Assembler support was added for the Qualcomm RISC-V Xqcilia (large immediate arithmetic) and Xqccmp (16-bit push/pop and double moves) vendor extensions. Also for the Rivos XRivoxVisni (vector integer small new instructions) vendor extension. 538b898, 8039f8e, 5066d7b.
-
DISubrangeTypewas added, motivated by Ada. e298fc2. -
MergeFuncs no longer introduces calls to
linkonce_odrorweak_odrfunctions as they may introduce an infinite call cycle. f10e0f7. -
The LangRef definition of
llvm.minnumandllvm.maxnumwas clarified. 363b059. -
-print-inst-addrsand-print-inst-debug-locsand be used to print addresses and debug locations of instructions when dumping. 0ebf7b4.
Clang commits
-
__attribute__((format_matches))is now implemented, allowing the compiler to check that a format string matches its arguments. c710118. -
A minimal
cir-opttool was added in order to allow tests to be written for CIR dialect parsing. 607a1f2. -
alpha.webkit.UnretainedLocalVarsCheckerwas added. cec3507. -
creduce-clang-crash.py was renamed to reduce-clang-crash.py and now supports cvise alongside creduce. 59cee03.
-
[[clang:atomic]]attributes are now supported for controlling atomic code generation. 240f226.