LLVM Weekly - #439, May 30th 2022

LLVM Weekly - #439, May 30th 2022

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

Welcome to the four hundred and thirty-ninth 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, or @llvmweekly or @asbradbury on Twitter.

News and articles from around the web

Krister Walfridsson blogged about branch / conditional move and compiler optimisations.

On the forums

LLVM commits

  • The new -print-on-crash option will print out IR that caused the optimisation pipeline to crash. 24239e2.

  • The RISC-V VSETVLI insertion pass was modified to perform a limited form of partial redundancy elimination. a95ecb2.

  • The AArch64MachineScheduler will now attempt to order STP of Q registers by ascending address. 572fc7d.

  • The SPIR-V version can now be set via the target triple. 72832ef.

  • Heuristics for determining whether branches are more profitable than conditional moves were added. 8b42bc5, d7ebb74, 67be40d.

  • Various stack frame alignment bugs with the RISC-V Vector extension were fixed. cb8681a, 08c9fb8.

  • A new RISC-V pre-emit pass was added to modify instruction and register selection decisions in order to make more instruction comopressible. 29a5a7c.

  • Pointer types can now be used for atomicrmw xchg. 18e6b82.

  • FileCheck gained the ability to catch misspelled directives. ad1d60c.

  • The G_IS_FPCLASS opcode was added to GlobalISel. bdd0093.

Clang commits

  • The phrasing of diagnostics for strict function prototypes was improved. 681c50c.

  • The --offload-link option was introduced to perform offload device linking. b7c8c4d.

Other project commits

  • A pthread_mutex_t type and global stdout and stderr objects were added to LLVM’s libc. 2a5d507, 9b8ca3c.

  • The WebAssembly linker matched the ELF linker by requiring double dashes for modern linker flags. 87628f5.

  • A use-after-free checker was added for the MLIR Transform dialect. 73c3dff.