[llvm-dev] LLVM Weekly - #333, May 18th 2020

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon May 18 12:53:52 PDT 2020


LLVM Weekly - #333, May 18th 2020
=================================

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

Welcome to the three hundred and thirty-third 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

It has now been five years since Rust 1.0 was released (which of course, uses
LLVM as a backend). Read all about progress since then [on the Rust
blog](lhttps://blog.rust-lang.org/2020/05/15/five-years-of-rust.html).

Egor Bogatov wrote a blog post on [implementing a new peephole optimisation in
LLVM](https://egorbo.com/opt-for-llvm-guide.html).


## On the mailing lists

* Ties Stuij posted an RFC to collect feedback on [next steps for
BFloat](http://lists.llvm.org/pipermail/llvm-dev/2020-May/141545.html),
linking to patches currently up for review.

* The 7th edition of the MLIR newsletter is [now
out](https://llvm.discourse.group/t/mlir-news-7th-edition-5-15-2020/1015),
higlighting the mlir-npcomp project (prototype for compiling numpy programs)
alongside a range of other developments.

* Alexey Lapshin reported on efforts to have [LLD remove obsolete debug
info](http://lists.llvm.org/pipermail/llvm-dev/2020-May/141468.html). This
`--gc-debuginfo` option has a meaningful impact on size (reducing debug info
size by 50%), but increases linking time substantially.

* Richard Barton provided an [update on F18/Flang
buildbots](http://lists.llvm.org/pipermail/llvm-dev/2020-May/141522.html).

* Eric Christopher is seeking feedback on [LLDB pre-merge
testing](http://lists.llvm.org/pipermail/lldb-dev/2020-May/016227.html).

* [ORC JIT Weekly
16](http://lists.llvm.org/pipermail/llvm-dev/2020-May/141635.html) provides
information on JITLink ELF/x86 and updates on removable code.

* Daniel Grumberg posted an RFC on [generating CC1 command lines from a
CompilerInvocation
instances](http://lists.llvm.org/pipermail/cfe-dev/2020-May/065421.html).

* David Spickett proposes [changing Clang's tool search path
priority](http://lists.llvm.org/pipermail/cfe-dev/2020-May/065432.html) so
more specific names on the user's PATH are found before less specific names in
the clang install dir.

* Simon Moll authored an RFC on [extending Clang to allow bool as a valid
vector element](http://lists.llvm.org/pipermail/cfe-dev/2020-May/065434.html).
Some of the following discussion focused on whether a vector of bool would be
represented as a vector of i1 in IR, and whether this may cause problems.


## LLVM commits

* The bfloat type was added to LLVM IR, intended to support the BFloat16 type
introduced in Armv8.6. [8c24f33](https://reviews.llvm.org/rG8c24f33158d).

* The ARM backend gained support for the machine outliner.
[0e4827a](https://reviews.llvm.org/rG0e4827aa4e4).

* An x86 Speculative Execution Side Effect Suppression pass was added, to
mitigate Load Value Injection. Support for LVI load hardening was also added.
[bf95cf4](https://reviews.llvm.org/rGbf95cf4a681),
[e97a3e5](https://reviews.llvm.org/rGe97a3e5d9d4),
[8ce078c](https://reviews.llvm.org/rG8ce078c7503),
[08b8b72](https://reviews.llvm.org/rG08b8b724ee3).

* The git-svn utilities were removed, as the Git migration makes them
redundant. [f056dac](https://reviews.llvm.org/rGf056dacbd75).

* Constant pools are now handled in the RISC-V load/store peephole
optimisation, improving codegen especially for loading FP constants.
[969e703](https://reviews.llvm.org/rG969e7034275).

* A comment directive, `COM:` was added to FileCheck.
[a1fd188](https://reviews.llvm.org/rGa1fd188223d).

* AMDGPU gained support for spilling the frame pointer to memory.
[09253b6](https://reviews.llvm.org/rG09253b608a5).

* Alignment of allocas will no longer be promoted beyond the stack alignment.
[c9c930a](https://reviews.llvm.org/rGc9c930ae67c).

* LLVM's DIModule debug metadata was extended to support Fortran modules.
[e59744f](https://reviews.llvm.org/rGe59744fd9b4).

* Support was added for the Marvell ThunderX3T110, including an initial
definition of the micro-ops for the scheduling model.
[382d3a8](https://reviews.llvm.org/rG382d3a85e2a).

* Callbacks were added to allow overriding the datalayout after parsing it
from a file. [4532a50](https://reviews.llvm.org/rG4532a50899b).


## Clang commits

* Clang gained support for the matrix type, which can be enabled with
`-fenable-matrix`. [1065869](https://reviews.llvm.org/rG10658691951).

* The static analyzer's PlacementNewChecker was extended with a chec for
insufficient storage of arrays and bad alignment.
[7c37684](https://reviews.llvm.org/rG7c3768495e8).

* Use of `_ExtInt` in inline assembly is now prohibited.
[5f1f4a5](https://reviews.llvm.org/rG5f1f4a5d015).

* clang-format now supports formatting of aligned nested conditionals.
[4db9409](https://reviews.llvm.org/rG4db94094b46).


## Other project commits

* LLVM libc gained implementations of fabs and fabsf.
[4a39a33](https://reviews.llvm.org/rG4a39a33d44f).

* LLDB will no longer disassemble large functions by default.
[f665e80](https://reviews.llvm.org/rGf665e80c023).


More information about the llvm-dev mailing list