[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
<http://llvmweekly.org/issue/322>.

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
infrastructure](https://developer.ibm.com/linuxonpower/2020/02/23/ibm-c-c-and-fortran-compilers-to-adopt-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)](http://lists.llvm.org/pipermail/llvm-dev/2020-February/139517.html).

Alex Denisov [released llvm2graphml, a new tool for exploring LLVM bitcode
interactively](https://lowlevelbits.org/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](http://lists.llvm.org/pipermail/llvm-dev/2020-February/139574.html).

* Jeremy Morse wrote an RFC on [a new way of specifying variable locations for
debuginfo
post-isel](http://lists.llvm.org/pipermail/llvm-dev/2020-February/139440.html),
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
Phabricator](http://lists.llvm.org/pipermail/llvm-dev/2020-February/139513.html),
after 3 months of beta testing.

* Galina Kistanova shared that [zorg will be ugrading to a recent buildbot
version](http://lists.llvm.org/pipermail/llvm-dev/2020-February/139503.html),
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.
[23c2a5c](https://reviews.llvm.org/rG23c2a5ce33f).

* A new CoalescingBitVector datatype was implemented and used to solve a
compile-time explosion issue in LiveDebugValues.
[b0142cd](https://reviews.llvm.org/rGb0142cd9867),
[210c485](https://reviews.llvm.org/rG210c4853de2),
[a993720](https://reviews.llvm.org/rGa993720397e).

* The coverage mapping format was changed to reduce binary size. This shrinks
the size of llc's coverage segment by 82%.
[9931712](https://reviews.llvm.org/rG99317124e1c).

* Fixed point saturating division intrinsics were added.
[6e561d1](https://reviews.llvm.org/rG6e561d1c94e).

* Infrastructure was added to print and parse MIR MachineOperand comments.
[7efabe5](https://reviews.llvm.org/rG7efabe5c7de).

* 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](https://reviews.llvm.org/rG6f87b162e63),
[b3bce6a](https://reviews.llvm.org/rGb3bce6a3ddb).

* The scalar evolution expander gained new cost models.
[cc29600](https://reviews.llvm.org/rGcc29600b908),
[756af2f](https://reviews.llvm.org/rG756af2f88bd),
[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.
[4ef272e](https://reviews.llvm.org/rG4ef272ec9c5).


## Clang commits

* Clang now supports output constraints on `asm goto`.
[50cac24](https://reviews.llvm.org/rG50cac248773).

* LLVM IR for C++ operator new now contains additional attributes beyond
`noalias`, when appropriate.
[3dd5a29](https://reviews.llvm.org/rG3dd5a298bff).


## Other project commits

* libcxx now features an implementation of
[P1135R6](http://open-std.org/JTC1/SC22/WG21/docs/papers/2019/p1135r6.html),
the C++20 synchronisation library.
[54fa9ec](https://reviews.llvm.org/rG54fa9ecd308).

* The LLVM libc implementation gained sigprocmask, sigemptyset, and sigaddset.
[cd76a02](https://reviews.llvm.org/rGcd76a026399).


More information about the llvm-dev mailing list