LLVM Weekly - #550, July 15th 2024

LLVM Weekly - #550, July 15th 2024

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

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

The call for talk proposals at the LLVM Developers’ Meeting is now open and closes on August 11th.

The next Portland LLVM social will take place on July 17th.

The next Munich LLVM meetup will take place on July 24th.

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

  • Office hours with the following hosts: Phoebe Wang, Johannes Doerfert, Aaron Ballman.
  • Online sync-ups on the following topics: pointer authentication, vectorizer improvements, security group, new contributors, OpenMP, Clang C/C++ language working group, Flang, floating point, RISC-V, MLIR, embedded toolchains.
  • For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.

On the forums

LLVM commits

  • LoopIdiomRecognize learned to recognize “shift until less-than”. 83b01aa.

  • LLVM’s MC layer (assembler) now supports .cfi_label, fixing a common case where GCC generated assembly fails to work with LLVM. 2718654.

  • Branch hint prefixes are now supported in the X86 backend. e603451.

  • Improved codegen is now implemented for ISD::CTL_ZERO_UNDEF, taking advantage of the fact zero is an invalid input. 69192e0.

  • The .insn <value> and .insn <insn-legnth>, <value> variants of the .insn directive are now supported for RISC-V. 2a086dc.

  • Documentation on new atomicrmw metadata was added for AMDGPU. 62d9497.

  • The RISCVUsage documentation now gives guidance on the supported RISC-V profiles. 884a07f.

  • Support was added for the RISC-V QingKe “XW” compressed instruction set extensions, as used in WCH microcontrollers. 3c5f929.

  • Support was added for resolving conflicts between vendor-specific CSRs in RISC-V. 0628446.

Clang commits

  • modernize-use-ranges and boost-use-ranges checks were added to clang-tidy to convert iterator algorithms into C++20 or boost ranges. 1038db6.

  • sized_by, counted_by_or_null and sized_by_or_null. e22ebee.

  • Raw string literals are now supported as an extension in GNU C modes. e464684.

  • Documentation was added on working around an issue with missing vtables for classes attached to modules. 62a7562.

  • -fptrauth-function-pointer-type-discrimination is now supported. ae18b94.

  • -m[no-]scalar-strict-align and -m[no-]vector-strict-align are now provided for RISC-V. 73acf8d.

Other project commits

  • Initial support was added to compiler-rt builtins for GPU targets. dad7442.

  • Support for -fhermetic-module-files was added to Flang. 6598795.

  • [f]pathconf was implemented in LLVM’s libc. 7f3c40a.

  • A new CyclicReplacerCache was added to MLIR, intended for use as a cache for functions that map values between two domains. ec50f58.