LLVM Weekly - #552, July 29th 2024

LLVM Weekly - #552, July 29th 2024

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

Welcome to the five hundred and fifty-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 LLVM 19.x release branch was created and 19.1.0-rc1 was released.

The next LLVM Bay Area meetup will take place today, Monday 29th July.

As a reminder, open calls for papers/proposals are out for the LLVM in HPC Workshop (closing August 16th) and for the LLVM Developers’ Meeting (closing August 11th). Student travel grant applications for the LLVM Developers’ Meeting are also now open.

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

  • Office hours with the following hosts: Johannes Doerfert.
  • Online sync-ups on the following topics: Pointer authentication, SPIR-V, new contributors, OpenMP, Flang, RISC-V backend, LLVM libc, MLIR, HLSL, MLGO.
  • For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.

On the forums

LLVM commits

  • Frame lowering code was updated to support frames larger than 2GiB. ca076f7.

  • 128 and 256-bit vector shuffles were implemented for LoongArch. 464ea88.

  • The PowerPC backend now supports -fpatchable-function-entry. 4321300.

  • The main branch is now 20.0.0git. 8f701b5.

Clang commits

  • The clang-nvlink-wrapper tool was introduced, which as the name suggests wraps Nvidia’s nvlink linker. It provides an ld.lld style interface. 37d0568.

  • The pauthtest ABI is now accepted for AArch64 Linux triples. 146fd7c.

  • __atomic_always_lock_free and __atomic_is_lock_free can now be folded at compile time for non-null constant pointers even if the type of the pointer doesn’t guarantee appropriate alignment. 511e93b.

  • __builtin_cpu_init and __builtin_cpu_supports are now implemented for RISC-V. d1e28e2.

  • The MMX vector intrinsic functions have been reimplemented on the SSE2 instruction set. 0431d6d.

  • Clang static analyzer’s MallocChecker now supports __ownership_returns and __ownership_takes attributes. 893a303.

Other project commits

  • LLD can now use profile guided function ordering, which can reduce page faults during startup. e3b30bc5.

  • Bolt’s CMake infrastructure was updated to enable a standalone build. abc2eae.

  • Bounded iterators for string and vector can now be enabled for libcxx as part of the hardening options. bcf9fb9.