LLVM Weekly - #573, December 23rd 2024

LLVM Weekly - #573, December 23rd 2024

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

Welcome to the five hundred and seventy-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 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

Peter Chou blogged about their GSoC project to improve the clang-doc documentation generator.

The dates for EuroLLVM and AsiaLLVM 2025 have been announced. EuroLLVM will take place April 14th-16th in Berlin and AsiaLLVM on June 10th in Tokyo.

As usual you can check the LLVM calendar for planned events. I won’t list them for the coming week as it seems likely many will be canceled due to holidays/christmas.

On the forums

LLVM commits

  • The type sanitizer was committed. a487b79.

  • SDNode::uses() was renamed to SDNode::users() and SDNode::use_iterator was split into user_iterator and use_iterator meaning you can now write range-based for loops using SDUse& and SDNode::uses. 104ad92, e6b2495.

  • llvm-mc now accepts a --hex argument to disassemble unprefixed hex bytes. c6ff809.

  • The RISCVVLOptimizer pass is now enabled by default for RISC-V. 169c32e.

  • The LLVM Security Group was renamed to the LLVM Security Response Group. ccb66bf.

  • The DXILResourceAccess pass was added, transforming resource access via llvm.dx.resource.getpointer to buffer loads and stores. 0fca76d.

  • llvm-exegesis gained support for RISC-V. 8e8692a.

  • A scheduling model was added for the MIPS P8700 RISC-V CPU and the scalar part of the scheduling model for the Tenstorrent Ascalon D8. 3222060, e934a39.

  • The unused PoisonChecking utility pass was deleted. 0517772.

  • The Hexagon backend now supports the Hexagon V75 architecture. 8b37c1c.

Clang commits

  • Floating point, pointer, and function types were added to ClangIR. 8ae8a90.

  • Initial type sanitizer support was added to Clang. c135f6f.

  • Matrix types can now be used in pseudo-destructor expressions, which allows them to be stored in STL containers. eb5c211.

  • A -Wtautological-compare diagnostic was introduced which warns when a check for pointer addition overflow is always true or false. 6d34cfa.

  • The -ubsan-unique-traps flag was removed as the functionality has been superseded by -fno-sanitize-merge. cb8a90b, 5bb6503.

  • ThreadSafetyAnalysis was improved to support passing scoped capabilities into functions. c1e7e45.

Other project commits

  • MLIR’s python binding was ported to nanobind, motivated by improved performance. b56d1ec, 5cd4274.

  • BOLT gained a conservatively safe variant of its identical code folding implementation. 3c357a49.

  • The Type Sanitizer runtime was committed. 641fbf1.

  • Flang now supports the UNSIGNED datatype with -funsigned. fc97d2e.

  • LLDB’s progress report mechanism can now be rate limited. 0dbdc23.

This link is mistaking.

Thank you - fixed!