LLVM Weekly - #503, August 21st 2023

LLVM Weekly - #503, August 21st 2023

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

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

Registration is now open for the 2023 LLVM Developers’ Meeting. The early bird rate runs through to September 10th.

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, SYCL, OpenMP, classic Flang, loop optimisation working group, OpenMP for Flang, MLIR open meeting, SPIR-V.
  • For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.

On the forums

LLVM commits

  • The developer policy around links to external resources (e.g. rdar:// links) has been agreed and committed. 6773269.

  • A workaround was added for a minor code quality regression in RISC-V vector code generation related to MachineCSE refusing to eliminate instructions that have IMPLICIT_DEF operands. a63bd7e.

  • Performance of the sample profile reader was improved. 7624de5.

  • Initial FatLTO support was added to the Gold plugin. 6b539f5e.

  • OptTable’s “Flags” field was split into “Flags” and “Visibility” in order to enable refactorings in Clang. dcb6d21.

  • Additional legalisations were added for RISC-V GlobalISel. 88903fa, ae76574, 6eb36ae, 638865c, and more.

  • It’s now possible to access information about inline assembly calls through the C API. a1c447d.

  • The BPF backend now support’s the BPF_ST ‘store immediate’ instruction. 8f28e80.

  • Error messages for the CMake -LLVM_TARGETS_TO_BUILD were improved in the case of unrecognised experimental targets. f1edee4.

Clang commits

  • -mno-gather and -mno-scatter flags were added for X86 to disable generation of gather/scatter in auto-vectorisation (this is related to the ‘downfall’ vulnerability. 993bdb0.

  • The Clang driver was refactored to use LLVM Option’s new visibility flags. 9478f66.

  • A bitwise shift checker was added to the Clang static analyzer that will report situations where bitwise shift operators produce undefined behaviour. 25b9696.

Other project commits

  • An optimised bufferisation pass was added to Flang. 66abe64.

  • Preliminary fat LTO object support was added to LTO (objects containing both LTO compatible IR as well as generated object code). 14e3bec.

  • LLDB’s support for displaying Rust enum types was improved. e84751a.