LLVM Weekly - #542, May 20th 2024

LLVM Weekly - #542, May 20th 2024

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

Welcome to the five hundred and forty-second 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 next Cambridge compiler social will take place on June 19th at the Computer Laboratory. Be sure to RSVP.

LLVM 18.1.6 was released. This is the last planned release for 18.1.x.

The call for papers for the tenth workshop on the LLVM compiler infrastructure in HPC is out.

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

  • Office hours with the following hosts: Kristof Beyls, Johannes Doerfert.
  • Online sync-ups on the following topics: SPIR-V, GlobalISel, security grop, new contributors, pointer authentication, OpenMP, Flang, 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

  • An llvm.experimental.histogram intrinsic was added. fbb37e9.

  • The algorithm used to match “stale” profiles was improved. 23f8fac7.

  • RISCVInsertVSETVLI was moved to after phi elmination. 1a58e88.

  • The current status of VPlan for the loop vectorizer was documented. 99de3a6.

  • The LoopMicroOpBufferSize setting for Zen 3 and 4 scheduling models was reduced in order to limit the amount of partial loop unrolling performed. 54e52aa.

  • The pip requirements.txt in the LLVM tree now includes git hashes. 89b83d2.

  • update_test_checks now matches basic blocks labels using FileCheck expressions. 597ac47.

  • A pair of changes to the TableGen SubtargetEmitter result in substantial improvement to tblgen time for the RISC-V backend (reportedly from 29 down to 9 seconds). c675a58. 67beebf.

Clang commits

  • Non-constant tile sizes are now allowed in OpenMP. b0b6c16.

  • Work to break up the giant ‘Sema’ file up continued with SemaObjC and SemaCodeCompletion split out. 31a203f, 874f511.

  • RISC-V profiles that are not yet ratified are now gated behind the -menable-experimental-extensions flag. e5a277b, 891d687.

  • New AArch64 intrinsics were added for bfloat16 min/max/minnm/maxnm. f7392f4.

  • As part of the bounds safety work, the counted_by attribute can now be used on pointers in structs in C. 0ec3b97.

  • The modernize-use-std-format check was added, converting absl::StrFormat and similar functions to std::format. af79372d.

Other project commits

  • Flang gained initial debuginfo support for local variables. cd5ee27.

  • --enable-non-contiguous-regions is now implemented for LLD. 6731144.

  • More debug server packets were documented in LLDB’s docs. b6f050f.

  • Liveness information is now used in the tile allocator for ArmSME in MLIR. 041baf2.