LLVM Weekly - #322, Mar 2nd 2020
Welcome to the three hundred and twenty-second 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
IBM have announced that their C/C++ and Fortran compilers will be adopting the LLVM open source infrastructure. "IBM intends to fully incorporate the LLVM Core and Clang sub-projects in future C/C++ offerings on z/OS, Linux on Power, and AIX platforms."
Guidance has been issued for EuroLLVM 2020 and Coronavirus (COVID-19).
Alex Denisov released llvm2graphml, a new tool for exploring LLVM bitcode interactively
On the mailing lists
-
Shoaib Meenai wrote to announce Facebook's intention to contribute an implementation of LLD for Mach-O.
-
Jeremy Morse wrote an RFC on a new way of specifying variable locations for debuginfo post-isel, moving away from the current
DBG_VALUE
representation. -
Florian Hahn updated the proposal for matrix support in Clang in response to feedback.
-
Christian Kühnel reports that pre-merge testing is enabled by default on Phabricator, after 3 months of beta testing.
-
Galina Kistanova shared that zorg will be ugrading to a recent buildbot version, and indicated steps for bot owners to take to help with the transition.
-
Pierre van Houtryve asked for guidance on how to help improve debug experience for optimised code and received useful responses.
LLVM commits
-
The callbr instruction can now return non-void values. 23c2a5c.
-
A new CoalescingBitVector datatype was implemented and used to solve a compile-time explosion issue in LiveDebugValues. b0142cd, 210c485, a993720.
-
The coverage mapping format was changed to reduce binary size. This shrinks the size of llc's coverage segment by 82%. 9931712.
-
Fixed point saturating division intrinsics were added. 6e561d1.
-
Infrastructure was added to print and parse MIR MachineOperand comments. 7efabe5.
-
The MachineVerifier was passed up by about 35% through optimisations to calcRegsPassed (converting it reverse post order traversal). It was then sped up by another 15-20% by optimising the set representation. 6f87b16, b3bce6a.
-
The scalar evolution expander gained new cost models. cc29600, 756af2f, 0f3c9b5, and more.
-
An llvm-gsymutil was started that can convert object files to GSYM and perform lookups. 2f6cc21.
-
InstCombine was altered to eliminate dead instructions earlier. 4ef272e.
Clang commits
-
Clang now supports output constraints on
asm goto
. 50cac24. -
LLVM IR for C++ operator new now contains additional attributes beyond
noalias
, when appropriate. 3dd5a29.