LLVM Weekly - #417, December 27th 2021
Welcome to the four hundred and seventeenth 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
Videos from the 2021 LLVM Developers' Meeting are starting to be posted online.
The call for papers for the FOSDEM 2022 LLVM devroom has been extended to the 28th of December.
On the mailing lists
Y Song wrote up the reasoning for adding Clang extensions to support BPF CO-RE. Although the feature has already been implemented and merged, the write-up steps through each of the agreed criteria for justifying Clang extensions.
Y Song proposed adding a new bpf_dominating_decl attribute.
Nikita Ermoshkin asked a series of questions about submitting an experimental target for the Propeller 2 microcontroller.
Nuno Lopes shared his thoughts on the RFC to add a new memory region declaration intrinsic.
LLVM commits
A new llvm-mca-compare.py script was added, using llvm-mca to print and compare statistics for multiple files. 0e34347.
The
no_cfi
constant was introduced, representing a function reference that doesn’t get replaced with a reference to the CFI jump table. This may be used in low-level programs such as OS kernels. 5dc8aaa.The areFunctionArgsABICompatible TargetTransformInfo hook has been replaced with a new areTypesABICompatible hook, which is designed to be compatible with opaque pointer types, giving a list of types rather than pointer arguments (that must be inspected). f5ac23b.
VE support was added to update_llc_test_checks.py. 2810c34.
Strict FP conversion operations are now supported for RISC-V. b7b260e.
The Hexagon backend gained support for the Hexagon v69 ISA. f766bc0.
Clang commits
The
__builtin_function_start
builtin was added. It accepts an argument that can be constant-evaluated to a function and returns the address of the function body. ec2e26e.A SPIR-V toolchain was defined. 0045d01.
A new sugar ‘Type’ AST node was added representing types accessed via a C++
using
declaration. e1600db.
Other project commits
LLVM’s libc now implements a modified form of the Eisel-Lemire algorithm for converting from strings to long doubles. 9b39737.
A helper class,
__transaction
, was added to libcxx to help write code with the strong exception guarantee. 37e6bd8.A new CMake option was added to enable installation of libunwind headers. 1c4867e.
Support was added for using libkvm with LLDB on FreeBSD. fb78587.