[llvm-dev] LLVM Weekly - #322, Mar 2nd 2020
Alex Bradbury via llvm-dev
llvm-dev at lists.llvm.org
Mon Mar 2 13:10:48 PST 2020
LLVM Weekly - #322, Mar 2nd 2020
If you prefer, you can read a HTML version of this email at
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](https://www.linkedin.com/in/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 at 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
"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
Alex Denisov [released llvm2graphml, a new tool for exploring LLVM bitcode
## On the mailing lists
* Shoaib Meenai wrote to [announce Facebook's intention to contribute an
implementation of LLD for
* Jeremy Morse wrote an RFC on [a new way of specifying variable locations for
moving away from the current `DBG_VALUE` representation.
* Florian Hahn [updated the proposal for matrix support in
response to feedback.
* Christian Kühnel reports that [pre-merge testing is enabled by default on
after 3 months of beta testing.
* Galina Kistanova shared that [zorg will be ugrading to a recent buildbot
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
received useful responses.
## LLVM commits
* The callbr instruction can now return non-void values.
* A new CoalescingBitVector datatype was implemented and used to solve a
compile-time explosion issue in LiveDebugValues.
* The coverage mapping format was changed to reduce binary size. This shrinks
the size of llc's coverage segment by 82%.
* Fixed point saturating division intrinsics were added.
* Infrastructure was added to print and parse MIR MachineOperand comments.
* 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.
* The scalar evolution expander gained new cost models.
[0f3c9b5](https://reviews.llvm.org/rG0f3c9b54e60), and more.
* An llvm-gsymutil was started that can convert object files to GSYM and
perform lookups. [2f6cc21](https://reviews.llvm.org/rG2f6cc21f44e).
* InstCombine was altered to eliminate dead instructions earlier.
## Clang commits
* Clang now supports output constraints on `asm goto`.
* LLVM IR for C++ operator new now contains additional attributes beyond
`noalias`, when appropriate.
## Other project commits
* libcxx now features an implementation of
the C++20 synchronisation library.
* The LLVM libc implementation gained sigprocmask, sigemptyset, and sigaddset.
More information about the llvm-dev