LLVM Weekly - #540, May 6th 2024

LLVM Weekly - #540, May 6th 2024

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

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

I didn’t spot any particular articles or blog posts this time. As always, feel free to email me anything relevant.

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: pointer authentication, AArch64, new contributors, OpenMP, Flang, BOLT, RISC-V, LLVM libc, MLIR.
  • For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.

On the forums

LLVM commits

  • LLVM switched from using debug intrinsics internally to using debug records by default. Debug intrinsics will only be supported on a best-effort basis from now on. 91446e2.

  • llvm-mca learned the -skip-unsupported-instructions option. 5f79f750.

  • AggressiveInstCombine learned to inline str[n]cmp where one of the strings is small and constant (and in the case of strncmp, the length is constant). 6b94870.

  • The set of opcodes recognised by canCreateUndefOrPoison was increased. b3c55b7.

  • LLVM vector interleave2/deinterleave2, reverse, and splice intrinsics are no longer in the experimental namespace. bfc0317.

  • The RISC-V disassembler can now support instructions up to 176 bits in length. 618adc7.

  • TLSDESC codegen was added for LoongArch. 09e7d86.

  • The MachineCombiner was enabled for floating point reassociation of add, sub, and mul on SystemZ. 6c32a1f.

  • A new PatternMatch API was added for matching constants using custom conditions. d8428df, f561daf9.

Clang commits

  • C++17 support in Clang is now viewed as complete, with the enablement of C++17 relaxed template template argument matching being turned on by default acting as the last piece of the puzzle. b86e099.

  • Scalable vectors are now supported for the __builtin_reduce_* functions. bd07c22.

  • -fexperimental-late-parse-attributes was added to enable an experimental feature allowing late parsing of certain attributes in specific contexts where they wouldn’t notmally be late parsed. b1867e1.

  • WebAssembly reference types were disabled for the generic target because it changes the encoding of call_indirect. 8c64a30.

Other project commits

  • The fcntl function was implemented in LLVM’s libc. aca5117.

  • LLD’s --compress-sections argument now allows a compression level to be specified. 6d44a1e.

  • Additional unary operations were added to MLIR’s linalg dialect. 4cec3b3.

1 Like