LLVM Weekly - #517, November 27th 2023

LLVM Weekly - #517, November 27th 2023

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

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

News and articles from around the web and events

Chris Lattner’s keynote on Mojo from the LLVM Dev Meeting is now up on YouTube.

Edgar Luque wrote an introduction to LLVM and MLIR with Rust and Melior (MLIR bindings for Rust).

The Google MLIR sparsifier team has a new site and logo, with the site hosting information on the project.

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

  • Office hours with the following hosts: Johannes Doerfert.
  • Online sync-ups on the following topics: Flang, MLIR C/C++ frontend, pointer authentication, libc++, classic flang, OpenMP, loop optimisations, OpenMP and Flang, MLIR open meeting, PowerPC, SPIR-V, MLGO.
  • For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.

On the forums

LLVM commits

  • The ‘disjoint’ flag was introduced for or instructions. This makes it easy to undo a transformation from add to or if profitable. d9962c4.

  • -filter-print-funcs can be used with -debug-only=isel-dump to to filter printed DAGs by function name. 0e24179.

  • GuardWideningLegacyPass, LoopSinkLegacyPPass, LoopInstSimplifyLegacyPass, MergedLoadStoreMotionLegacyPass, UnifyFucntionExtNodesLegacyPass, AssumeBundleBuilderPassLegacyPass, LowerWidenableConditionLegacyPass, and ScalarizerLegacyPass, and many more were removed. d715e2c, b9975ce, cd11a7f, 8319e22, 3cc523d, 72ab995, 4671f18, 2470857.

  • A new shouldFoldSelectWithSingleBitTest hook was introduced. a756a6b.

  • llvm-exegesis switched from MCJIT to LLJIT. 92b821f.

Clang commits

  • Clang gained support for the [[clang::code_align()]] attribute, used to specify the byte alignment for a loop. 48ff354.

  • A std::variant checker was added to Clang’s static analyzer. 527fcb8.

  • The [[clang::coro_lifetimebound]] attribute was introduced. fbfd2c9.

  • __attribute__((target()) is now supported for RISC-V. d80e46d.

Other project commits

  • libcxx gained floating point atomics. de7fbfe.

  • Some initial operations were defined for the MLIR mesh dialect. 5f7c8c1.

2 Likes