LLVM Weekly - #483, April 3rd 2023

LLVM Weekly - #483, April 3rd 2023

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

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

LLVM Weekly is now on Mastodon. If that’s your thing, you can follow @llvmweekly@fosstodon.org. If you want to follow me too, you want asb@fosstodon.org.

Kshitij Jain has an article on the LLVM blog about adding a new target/object backend to LLVM JITLink (in this case, 32-bit x86).

Early bird registration for EuroLLVM 2023 ends in one week’s time, on April 10th.

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

  • Office hours with the following hosts: Paulo Matos, Tobias Grosser, Anastasia Stulova, Quentin Colombet, Johannes Doerfert.
  • Online sync-ups on the following topics: Flang, SYCL, MemorySSA, OpenMP, loop optimisation, OpenMP for Flang, MLIR, HLSL, SPIR-V, GPU working group.
  • For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.

On the forums

LLVM commits

  • Minimal block coverage instrumentation was implemented. This uses a boolean to determine if a basic block was executed or not, providing less precision than block count profiling but at lower overhead.

  • A ConcurrentHashtable class was added to LLVM’s ADT library. 42058ee.

  • Initial specification of the PowerPC 64-bit ELFv2 calling convention was added in TableGen. 6126356.

  • Initial GlobalISel support for vector functions was added to the PPC backend. 3508f12.

  • The RISC-V backend now supports .insn with compressed instruction formats. 941667b.

  • The RISC-V backend gained support (assembler/disassembler and codegen) for the experimental zicond extension. d3291c6, a755e80.

  • The WebAssembly DebugValueManager was redesigned. 5a55c95.

  • Iteration utilities are now documented in LLVM’s programmer’s manual. 8c40ad1.

  • A new SelectionDAG::SplitScalar helper was introduced. 8153b92.

Clang commits

  • Clang’s policies on claiming support for a feature were documented. ce548b6.

  • Remaining frontend support for PPC/Darwin was removed. 2fe49ea.

  • -fexperimental-assignment-tracking now takes one of ‘enabled’, ‘disabled’, or ‘forced’. 41c92c0.

  • The readability-operators-representation clang-tidy check was introduced. It enforces consistent choices for operators, e.g. &&, || or and, or.

Other project commits

  • The Flang driver gained support for AMDGPU. e43247d.

  • compiler-rt’s shift builtins were updated to support architectures with 16-bit int. 3834b04.

  • A patch working towards support for big-endian Arm targets in LLD was committed. 2f68ddc.

  • MLIR gained utilities for 1:n type conversions. 0ceb7a1, 4e56361.

  • LLVM’s OpenMP library now supports asynchronous memory copy. 4753a4e.