[llvm-dev] LLVM Weekly - #223, Apr 9th 2018

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Apr 9 13:20:07 PDT 2018


LLVM Weekly - #223, Apr 9th 2018
================================

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

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

The schedule for EuroLLVM next week [has been
published](https://2018eurollvm.sched.com/). I'll see you there! Also note
that Arnaud de Grandmaison is
[looking](http://lists.llvm.org/pipermail/llvm-dev/2018-April/122456.html) for
volunteer session moderators.


## On the mailing lists

* Alex Susu
[reports](http://lists.llvm.org/pipermail/llvm-dev/2018-April/122357.html)
that source code is now publicly available for an LLVM backened for the
research Connex SIMD processor.

* Chad Rosier
[proposes](http://lists.llvm.org/pipermail/llvm-dev/2018-April/122347.html)
adding function attributes to represent the compile-time optimisation level.

* Joel E. Denny is [looking for
feedback](http://lists.llvm.org/pipermail/llvm-dev/2018-April/122308.html) on
a change to lit to have it report the line number of a failed RUN command.

* Rui Ueyama has [shared an
RFC](http://lists.llvm.org/pipermail/llvm-dev/2018-April/122383.html) on
adding a new `--check-library-dependency` command line option to lld, which
can be used to get symbol resolution semantics that are closer to the GNU
linker.


## LLVM commits

* The llvm-exegesis tool has been committed. As previously
[described](http://lists.llvm.org/pipermail/llvm-dev/2018-March/121814.html)
on llvm-dev, this tool allows the automatic measurement of instruction
scheduling properties such as latency and the number of micro-ops.
[r329156](https://reviews.llvm.org/rL329156).

* The ShadowCallStack pass has been added. Functions marked with the
`shadowcallstack` attribute will be instrumented to check in the prolog/epilog
that the return address has not been corrupted during execution. This is
supported on both X86-64 and AArch64.
[r329139](https://reviews.llvm.org/rL329139),[r329236](https://reviews.llvm.org/rL329236).

* Codegen support for the RISC-V 'C' (compressed) instruction set extension
has landed. When possible, a 32-bit MCInstruction is converted to the 16-bit
equivalent. [r329455](https://reviews.llvm.org/rL329455).

* A new `upate_analyze_test_checks.py` script has been added. This aids the
generation of checks in cost model tests.
[r329390](https://reviews.llvm.org/rL329390).

* Support was added for llvm.coro.noop intrinsics, used to implement
`noop_coroutine` from the C++ Coroutines TS.
[r328986](https://reviews.llvm.org/rL328986).

* A python utility was added that uses llbm-objdump to to look for indirect
calls or jumps in x86 assembly. [r329050](https://reviews.llvm.org/rL329050).

* Initial support for generating DWARF v5 Accelerator Tables was committed.
[r329179](https://reviews.llvm.org/rL329179).


## Clang commits

* The new bugprone-parent-virtual-call clang-tidy check will flag cases where
grandparent virtual methods are called rather than an parent's overridden
virtual method.
[r329448](https://reviews.llvm.org/rL329448).

* Support for the `-fsanitize=shadow-call-stack` flag was added, alongside
documentation of the scheme. [r329122](https://reviews.llvm.org/rL329122).


## Other project commits

* The `<experimental/filesystem>` implementation in libcxx has been updated to
match the C++17 spec. [r329028](https://reviews.llvm.org/rL329028).

* The lldb repository now contains bsd.py, a tool that can dump BSD archives.
[r328990](https://reviews.llvm.org/rL328990).

* libcxx gained an implementation of the `<compare>` header.
[r329460](https://reviews.llvm.org/rL329460).

* The documentation on preparing IR for processing by Polly has been
overhauled. [r329446](https://reviews.llvm.org/rL329446).


More information about the llvm-dev mailing list