[llvm-dev] LLVM Weekly - #296, September 2nd 2019

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Sep 2 12:10:16 PDT 2019


LLVM Weekly - #296, September 2nd 2019
=====================================

If you prefer, you can read a HTML version of this email at
<http://llvmweekly.org/issue/296>.

Welcome to the two hundred and ninety-sixth 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

The LLVM 9.0.0 release candidate 3 is
[available](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134836.html).


## On the mailing lists

* Tom Stellard has posted [instructions for requesting GitHub commit
access](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134840.html). If
you currently have SVN commit access, you are requested to add your
information to the github-usernames.txt file prior to SVN becoming read-only
on October 21st.

* Philipp Reames has [proposed changes to atomic load/store in
SelectionDAG](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134794.html).
Atomic loads and stores will be treated as normal LoadSDNode or StoreSDNodes,
but this change will be enabled on a per-backend basis.

* Sam Elliott posted an RFC on [adding the GCC C Torture Suite to the external
LLVM test
suites](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134833.html). As
Sam notes, we've found the torture execution tests incredibly useful in
backend development. Sam has an [initial
patch](https://reviews.llvm.org/D66887) for review.

* Reshabh Sharma [provided a summary of his GSoC work to support 64-bit
pointers in the RISC-V 32-bit
backend](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134760.html).

* Seiya Nuta posted a final report on their [GSoC project to improve LLVM
binary
utilities](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134755.html)
like llvm-objcopy, llvm-objdump.

* Csaba Dabis has [posted a final report for their GSoC project to apply the
Clang Static Analyzer to
LLVM](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134739.html).

* Vic (Chun-Ju) Yang suggests [moving the RELRO segment to immediate alfter
the read-only
segment](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134801.html).
While Rui Ueyama was [in
favour](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134802.html),
David Chisnall [raised some
concerns](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134832.html).

* Graham Hunter started a discussion on [codegen for a scalable vector
splat](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134809.html).
Renato Golin
[recapped](http://lists.llvm.org/pipermail/llvm-dev/2019-August/134830.html)
the main argument about the trade-offs of introducing new constructs / node
types.


## LLVM commits

* The LoopIdiomRecognize pass can now recognise a BCmp loop.
[r370454](https://reviews.llvm.org/rL370454).

* llvm-ifs, an LLVM Interface Stubs merging and object file generation tool
was committed. [r370499](https://reviews.llvm.org/rL370499).

* A new shouldExtendTypeInLibCall hook was added and used to ensure libcall
lowering on RV64 properly respects the ABI
[r370275](https://reviews.llvm.org/rL370275).

* The GlobalISel importer learned to handled patterns containing
`INSERT_SUBREG` and `SUBREG_TO_REG`
[r369973](https://reviews.llvm.org/rL369973),
[r370254](https://reviews.llvm.org/rL370254).

* Scalable vectors are now supported in intrinsics.
[r370053](https://reviews.llvm.org/rL370053).

* The return values of allocation functions are now annotated with
`dereferenceable_or_null`. [r370168](https://reviews.llvm.org/rL370168).

* Arm MTE support was updated with an optimisation for unchecked load/stores
of stack offsets. [r370490](https://reviews.llvm.org/rL370490).


## Clang commits

* Clang will now warn when it is about to exhaust the stack and can allocate a
new stack by spawning a new thread. This improves the user experience when
dealing with e.g. heavily recursive template instantiations.
[r369940](https://reviews.llvm.org/rL369940).

* The clang-tidy-vs Visual Studio plugin was removed. Users are encouraged to
use Clang Power Tools instead. [r370096](https://reviews.llvm.org/rL370096).

* The new `-gen-cdb-fragment-path` option can be used to emit a fragment of a
compilation database for each compilation.
[r369938](https://reviews.llvm.org/rL369938).

* MaxAtomicInlineWidth and MaxAtomicPromoteWidth are now set appropriately for
RISC-V targets. [r370073](https://reviews.llvm.org/rL370073).

* Semantic restrictions were implemented for C++20 designated initializers.
[r370544](https://reviews.llvm.org/rL370544).


## Other project commits

* `std::vector` in libcxx will now unconditionally move elements when
exceptions are disabled. [r370502](https://reviews.llvm.org/rL370502).

* LLDB's dotest.py saw lots of refactoring and updates.
[r370234](https://reviews.llvm.org/rL370234),
[r370259](https://reviews.llvm.org/rL370259), and more.


More information about the llvm-dev mailing list