[llvm-dev] LLVM Weekly - #310, December 9th 2019

Alex Bradbury via llvm-dev
Mon, 09 Dec 2019 17:55:50 -0000

LLVM Weekly - #310, December 9th 2019
====================================
If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/310>.

Welcome to the three hundred and tenth 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.

If you're at the RISC-V Summit this week, be sure to [drop by the lowRISC
booth](https://www.lowrisc.org/blog/2019/12/lowrisc-101-introduction-to-lowrisc-at-the-risc-v-summit/)
and say hello.


## News and articles from around the web

LLVM 9.0.1-rc2 [has been
tagged](http://lists.llvm.org/pipermail/llvm-dev/2019-December/137469.html).


## On the mailing lists

* Hans Wennborg has shared the [proposed 10.0.0 release
schedule](http://lists.llvm.org/pipermail/llvm-dev/2019-December/137445.html).
This would see a branch taking place on 15th January with the target date for
the final being 25th Feb 2020.

* Kristof Beyls is [seeking program comittee
volunteers](http://lists.llvm.org/pipermail/llvm-dev/2019-December/137334.html)
for EuroLLVM 2020.

* Gábor Horváth wrote an RFC [proposing function
annotations](http://lists.llvm.org/pipermail/cfe-dev/2019-December/064067.html)
as a next step in the effort to implement Herb Sutter's lifetime analysis.
The proposed annotations would give information about the lifetime of function
return values or output arguments.

* Michael Woerister fed back that as far as he's aware, [profile-guided
optimisation now works exactly as expected with
Rust](http://lists.llvm.org/pipermail/llvm-dev/2019-December/137331.html).

* Sander De Smalen is [working to set up SVE/SVE2 LLVM sync-up
calls](http://lists.llvm.org/pipermail/llvm-dev/2019-December/137401.html).
The first [will take
place](http://lists.llvm.org/pipermail/llvm-dev/2019-December/137458.html) on
Thursday 12th Dec at 4pm GMT.

* Dmitri Gribenko
[reports](http://lists.llvm.org/pipermail/llvm-dev/2019-December/137388.html)
that he's set up a new buildbot with the new pass manager enabled.

* Brian Gesiak kicked off an RFC discussion on [potentially extending Clang to
help identify wasteful template function
bodies](http://lists.llvm.org/pipermail/llvm-dev/2019-December/137345.html).
This work would be motivated by a desire to help programmers identify ways to
reduce compilation time.


## LLVM commits

* The ARMCodeGenPrepare pass has graduated from the Arm backend to a
generic TypePromotion pass. [bc76dad](https://reviews.llvm.org/rGbc76dadb3cf).

* LLVM's documentation on contributing was expanded to discuss
`git-clang-format`. [06911ae](https://reviews.llvm.org/rG06911aee7f8).

* The LangRef was updated to clarify the behaviour of poison within vector
elements. [ead0d77](https://reviews.llvm.org/rGead0d77409b).

* The MachineVerifier will now check that the operand type matches that of the
descriptor. [4fd8f11](https://reviews.llvm.org/rG4fd8f11901b).

* GlobalISel now allows targets to override how to widen constants during
legalisation. [6da7dbb](https://reviews.llvm.org/rG6da7dbb806d).

* The register coalescer was updated so that if it rematerialises a register,
it only sets a subregsiter rather than the super-register, if possible.
[2ec71ea](https://reviews.llvm.org/rG2ec71ea7c74).


## Clang commits

* Concepts implementation work continues with the addition of enforcement for
associated constraints and elaborated diagnostics on why constraints weren't
satisfied. [fdf80e8](https://reviews.llvm.org/rGfdf80e86a52).

* The new SpacesInConditionalStatement option for clang-format will insert
spaces inside the braces for if/for/while conditions. e.g. `if ( a )`.
[26748a3](https://reviews.llvm.org/rG26748a321e2).

* Clang learned a `Wmisleading-indentation` warning.
[bc840b2](https://reviews.llvm.org/rGbc840b21e16).

* clang-tidy modernize-avoid-bind check was rewritten, adding significant new
functionality. [64f74bf](https://reviews.llvm.org/rG64f74bf72eb).


## Other project commits

* LLDB's reproducer support will now check that the version of the running
LLDB
matches the one in the reproducer.
[6282773](https://reviews.llvm.org/rG62827737acd).

* LLVM's OpenMP library can now build a minimal device runtime library for
amdgcn. [3ada8d2](https://reviews.llvm.org/rG3ada8d2a87a).