[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
Clang](http://lists.llvm.org/pipermail/cfe-dev/2020-February/064742.html) 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
code](http://lists.llvm.org/pipermail/llvm-dev/2020-February/139442.html) and
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 mailing list