LLVM Weekly - #448, August 1st 2022

LLVM Weekly - #448, August 1st 2022

If you prefer, you can read a HTML version of this email at http://llvmweekly.org/issue/448.

Welcome to the four hundred and forty-eighth 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, or @llvmweekly or @asbradbury on Twitter.

News and articles from around the web

The high level agenda for 2022 US LLVM Dev Meeting has been announced.

On the forums

LLVM commits

  • The trunk major version is now 16. 809855b.

  • Scalable vectorisation was enabled by default on RISC-V with the V extension. 15c645f.

  • The LangRef and GetElementPtr docs were updated to use opaque pointers for examples. 7ac7ec8, b66ca91.

  • It’s now possible to implement a target-specific policy for disassembler “resyncing” when encountering an instruction that can’t be decoded. 55f1fbf.

  • Arm and AArch64 objdump now uses a prettyprinter to print an instruction encoding as a 32-bit word, rather than bytewise little-endian. 2b38f58.

  • New automation was introduced to automatically assign reviewers for backport requests. f673dcc.

  • The Arm backend now supports an +atomic-32 target feature, which forces LLVM to assume lock-free 32-bit atomics are available even if they usually wouldn’t be. b1b1086.

  • If possible, instructions that are between two adjacent loops will be sunk or hoisted in order to faciliate fusion of the loops. dd3ca65.

  • A target hook was added to allow data prefetches into non-default address spaces. 0562cf4.

Clang commits

  • The soversion for libclang will now change for each new LLVM major release (as it did for LLVM 13 and below). bc39d7bd.

  • RISC-V Vector intrinsics are now lazily generated rather than placed in a huge header file, leading to large speedups. 7a5cb15.

  • A library interface was added for ClangOffloadBunder. 0f3f357.

  • clang-format learned more about handling Verilog inputs. f93182a, 67480b3, 6db0c18, b67ee18, c887194, 60e1206.

  • The maybe_undef attribute was introduced. a35c64c.

  • A new misc-const-correctness clang-tidy check was added, which will add const to unmodified variables. 46ae26e.

Other project commits

  • Implementations of opendir, readdir, closedir, and dirfd were added to LLVM’s libc. 35ea84a.

  • P1004R2 (constexpr std::vector) was implemented in libcxx. 98d3d5b.

  • The API of GEPOp in MLIR’s LLVM dialect was reworked. 37da2a1.

  • A new utility was added to MLIR to sort the operands of commutative operations. This is intended to be used to simplify their matching. b508c56.

2 Likes

Also, an interesting discussion on coordinating LLVM commits across different projects that has raised several issues with testing, validation and how to share “stable green windows” across LLVM components for related projects.

2 Likes

Thanks and sorry for missing that - I’ve added a note about it to the copy here and on llvmweekly.org

1 Like