[llvm-dev] LLVM Weekly - #221, Mar 26th 2018

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Mar 26 11:14:55 PDT 2018


LLVM Weekly - #221, Mar 26th 2018
=================================

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

Welcome to the two hundred and twenty-first 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

Don't forget to register for [EuroLLVM 2018](http://llvm.org/devmtg/2018-04/),
which will take place April 16th-17th in Bristol, UK.

The next LLVM social in Paris will [take
place](http://lists.llvm.org/pipermail/llvm-dev/2018-March/122102.html)
tomorrow, March 27th. Gergö Barany will be presenting about "Finding Missed
Optimizations in LLVM".



## On the mailing lists

* Mikhail Maltsev has posted an [RFC on function pointer
alignment](http://lists.llvm.org/pipermail/llvm-dev/2018-March/121953.html).
Currently computeKnownBits uses function alignment to infer the least
significant bits of a function pointer, but for Arm targets the LSB is used to
indicate if the function is a Thumb function. Mikhail proposes to extend the
datalayout.

* Anastasia Stulova is still [seeking
feedback](http://lists.llvm.org/pipermail/cfe-dev/2018-March/057355.html) on a
proposal to add OpenCL C++ support.

* Nicola Zaghen has shared an RFC on [changing the `DEBUG()` macro to
`LLVM_DEBUG()`](http://lists.llvm.org/pipermail/llvm-dev/2018-March/122097.html).
So far, everyone agrees this is a worthwhile change.

* Dan Liew is looking to [revive the DebugIR
pass](http://lists.llvm.org/pipermail/llvm-dev/2018-March/122013.html). This
pass emits LLVM IR in debug metadata, but was removed due to lack of
maintenance.

* Chandler Carruth has shared a detailed RFC on [speculative load
hardening](http://lists.llvm.org/pipermail/llvm-dev/2018-March/122085.html), a
mitigation approach for Specture variant 1 vulnerabilities (bounds check
bypass). Overhead is typically below 30%.

* George Rimar asks if [LLD should support the recently specific
.note.gnu.property or Intel
CET](http://lists.llvm.org/pipermail/llvm-dev/2018-March/121951.html). Rafael
Avila de Espindola and Rui Ueyama suggest waiting until it sees adoption or
user demand.

* In response to a query on the mailing list, Nuno Lopes [summarises the
current status of the 'Killing Undef and Spreading Poison'
RFC](http://lists.llvm.org/pipermail/llvm-dev/2018-March/121940.html).

* Peter Padlewski has shared a new [Devirtualization v2
RFC](http://lists.llvm.org/pipermail/llvm-dev/2018-March/121931.html), written
with a group of collaborators. This updated proposal avoids a potential
miscompilation that was possible in the previous proposal.



## LLVM commits

* The LLVM language reference manual has been updated to describe the default
floating point environment. [r327998](http://reviews.llvm.org/rL327998).

* An AsmParser implementation has been added for the WebAssembly backend.
[r328028](http://reviews.llvm.org/rL328028).

* The RISC-V backend gained codegen support for the RV32F instruction set
extension (single precision floating point).
[r327976](http://reviews.llvm.org/rL327976),
[r327979](http://reviews.llvm.org/rL327979),
[r328104](http://reviews.llvm.org/rL328104).

* It is no longer possible to cast from a string to a variable reference in
TableGen. [r327844](http://reviews.llvm.org/rL327844).

* The latest version of the demangler from libcxxabi has been imported.
[r327859](http://reviews.llvm.org/rL327859).

* A new analysis printer was introduced to dump 'must execute' facts.
[r328004](http://reviews.llvm.org/rL328004),
[r328015](http://reviews.llvm.org/rL328015).

* The RISC-V backend gained a peephole optimisation for loads/stores.
[r327381](http://reviews.llvm.org/rL327381).

* A new post-register allocation pass was added to sink copies into a
successor block. [r328237](http://reviews.llvm.org/rL328237).

* MIR printing, `opt -dot-cfg` and `-debug` printing has been made
substantially faster by making the scanning of a module for struct types lazy.
[r328246](http://reviews.llvm.org/rL328246).

* HWASan has been ported to Linux x86-64.
[r328342](http://reviews.llvm.org/rL328342).

* TargetLoweringObjectFile has been moved from CodeGen to Target,
MachineValueType from CodeGen to Support, and ValueTypes from CodeGen to IR.
[r328392](http://reviews.llvm.org/rL328392),
[r328395](http://reviews.llvm.org/rL328395),
[r328397](http://reviews.llvm.org/rL328397).


## Clang commits

* Initial code for the clang-doc for C/C++ documentation generation has been
committed. See the [original
RFC](http://lists.llvm.org/pipermail/cfe-dev/2017-December/056203.html) for
more information. [r328270](http://reviews.llvm.org/rL328270).

* clang-tidy gained a new checker for function calls with ignored return
values. [r327833](http://reviews.llvm.org/rL327833).

* Intrinsics were added for ARMv8.2-A FP16 vectors.
[r328277](http://reviews.llvm.org/rL328277).


## Other project commits

* The LLVM test suite repository now contains the Livermore Compiler Analysis
Loop Suite loop kernels. [r328330](http://reviews.llvm.org/rL328330).

* libcxx's std::allocator now respects over-aligned types.
[r328180](http://reviews.llvm.org/rL328180).


More information about the llvm-dev mailing list