[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