LLVM Weekly - #326, Mar 30th 2020
Welcome to the three hundred and twenty-sixth 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 https://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
LLVM 10.0.0 has been released. As always, thank you to everyone who has contributed in any way!
On the mailing lists
-
Kyungwoo Lee wrote an RFC on homogeneous prolog and epilog for size optimisation in AArch64. This is a code size optimisation that attempts to emit homogeneous stores and loads with the same offset for prolog and epilog in order to increase the benefit of machine outlining.
-
Philip Reames started a discussion on the status of Intel JCC mitigations and the desired next steps. As Philip explains, there is currently a disagreement about how to move forwards.
-
Anton Bikineev proposes allowing custom sections to be under
GNU_RELRO
. The motivation is to help security hardening applications that define custom sections. -
Louis Dionne started a discussion on bumping the CMake version requirement for libc++ and libc++abi. This triggered a lot of discussion.
-
Bardia Mahjour shared meeting minutes from the March 25th loop optimisation working group meeting.
-
"Whisperity" posted a proposal for adding 'experimental' checks to clang-tidy.
LLVM commits
-
A new algorithm was added to the LLVM Support library to perform the 'optimal' layout of a struct, and it was put to use for coroutine frames. 49e5a97, 9514c048.
-
MC layer (assembler/disassembler) support was added for Armv8.6-a BFloat16. 71ae267.
-
GlobalISel gained new generic opcodes for saturating add/subtract. 0444d16.
-
The FREEZE node was added to the SelectionDAG. 7802be4.
-
The use of
llvm_unreachable
was further clarified in the LLVM coding standards. 4778e40. -
Documentation was added on how to deal with issues of slow build time or memory exhaustion when compiling LLVM. 37943e5.
Clang commits
-
An attribute plugin example was added. 3f03c12.
-
Support was added for the
cmse_nonsecure_call
andcmse_nonsecure_entry
Arm CMSE (Cortex-M Security Extensions) attributes. 080d046. -
All Arm MVE intrinsics are now implemented. f282b6a.
Other project commits
-
LLVM's libc gained a simple x86-64 Linux loader. f6ccb4f.
-
SignalContext::GetWriteFlag
, part of the sanitizer infrastructure, was implemented for RISC-V. ad1466f. -
ThinLTO can now use all hardware threads on the system, rather than being limited to one thread per core. 0915825.
-
Parallel loop collapsing was implemented in MLIR. 27c201a.