LLVM Weekly - #521, December 25th 2023
Welcome to the five hundred and twenty-first 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.
For those who celebrate it, Merry Christmas!
News and articles from around the web and events
The next LLVM bay area meetup will take place on Jan 29th.
A few more LLVM Dev Meeting videos have been posted on YouTube.
I didn’t spot any more LLVM related news articles over the last week, but if you’ll allow me a little bit of cross-promotion, you might be interested in my recent posts on a somewhat overlooked reference counting paper and my appreciation for terminal bells.
According to the LLVM calendar in the coming week there will be (note: I’d double check if these are still going ahead - I’d imagine with the holidays many of these are events that just weren’t cancelled on the calendar):
- Office hours with the following hosts: Johannes Doerfert, Amara Emerson.
- Online sync-ups on the following topics: Flang, libc++, OpenMP, classic flang, loop optimisations.
- For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.
On the forums
Konstantin Varlamov posted an RFC on adding
__builtin_verbose_trap
. Unlike__builtin_trap
, this provides a message about what went wrong.Ariel Burton suggested adding support for IBM’s hexademical floating-point format.
I think I missed this thread first time round. Johannes Doerfert started a thread about unifying clang flags / language options for offloading languages.
The 59th edition of MLIR news is now available.
Oskar Wirga proposed extending Clang’s CFI to support dynamically resolved function pointers.
Anton Lydike provided a summary of the discussion on an MPI MLIR dialect so far and proposed a path forwards.
Ramkumar Ramachandra suggested a Mastodon instance for the LLVM community (e.g. something like social.llvm.org, similar to social.kernel.org). Though based on feedback received, noted that the moderation cost may be too high.
LLVM commits
Usage instructions were added for FatLTO. 8190e09.
The dominance algorithm used in RegAllocFast was made O(1) rather than O(n). 40ec791.
Release branches will now start numbered as N.1.0. 4532617.
LoopAccessAnalysis will now hoist runtime checks by default. 49b0e6d.
The X86 assembly parser learned to error for an out of range displacement. 83680f8.
The RISC-V vector crypto extensions are no longer marked as experimental, however the C intrinsics are not yet finalised. 0905865.
The AArch64LoadStoreOptimizer pass can now merge an index address with a large offset into the base address. 32878c2.
MC layer and codegen support was introduced for the Armv9.5-A pointer authentication code enhancement instructions. 192f720, 7bd1721.
Clang commits
The multilib reuse logic for RISC-V bare-metal toolchains was improved. 379d32d.
Support for the
counted_by
attribute was reverted. cca4d6c.
Other project commits
The libcxx codebase was reformatted. 9783f28.
ranges::contains
andranges::fold_left[_with_iter]
was implemented in libcxx. fdd089b, 3903438.Non-interprocedural dataflow analysis is now supported in MLIR, rather than just interprocedural analysis. 32a4e3f.
The
emitc.expression
operation was introduced for the MLIRemitc
dialect. d980384.