[llvm-dev] LLVM Weekly - #271, March 11th 2019

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Mar 11 13:28:40 PDT 2019


LLVM Weekly - #271, March 11th 2019
===================================

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

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

David Malcolm has written a piece for the Red Hat blog detailing the
[impressive usability and diagnostics improvements in GCC
9](https://developers.redhat.com/blog/2019/03/08/usability-improvements-in-gcc-9/).
As Chris Lattner
[suggests](http://lists.llvm.org/pipermail/cfe-dev/2019-March/061587.html),
there's plenty of opportunity for similar improvements to be made to Clang.

The next ETH Zurich compiler social [will be
held](http://lists.llvm.org/pipermail/llvm-dev/2019-March/130873.html) on the
14th March, featuring talks on latency sensitive GC for the JVM and safe
execution of LLVM IR on the JVM.

LLVM 8.0.0-rc4 [has been
tagged](http://lists.llvm.org/pipermail/llvm-dev/2019-March/130847.html). A
fifth release candidate will [likely be
needed](http://lists.llvm.org/pipermail/llvm-dev/2019-March/130889.html).

Readers may be interested in slides from the 7th March Sheffield Go meetup on
"[Live coding a basic Go compiler with LLVM in 20
minutes](https://github.com/pwaller/go2ll-talk)".


## On the mailing lists

* Alex Suso [sought advice on the status of ARM SVE support in
LLVM](http://lists.llvm.org/pipermail/llvm-dev/2019-March/130788.html). This
triggered some discussion, which then resulted in Renato Golin [starting a new
thread](http://lists.llvm.org/pipermail/llvm-dev/2019-March/130852.html) on
the next steps for scalable vector types in IR. If you have an interest in
this topic, this thread is a great summary of reviews where you can get
involved.

* Andrew Safronov
[proposes](http://lists.llvm.org/pipermail/llvm-dev/2019-March/130796.html)
the upstreaming of the Expressif-implemented Tensilica Xtensa (ESP32) backend.
Respondents are encouraging, with James Y Knight
[suggesting](http://lists.llvm.org/pipermail/llvm-dev/2019-March/130817.html)
to follow the structure of the RISC-V LLVM patchset.

* Gábor Horváth has
[shared](http://lists.llvm.org/pipermail/cfe-dev/2019-March/061555.html) an
analysis of cases where lifetime analysis would have been useful for catching
errors in recent Clang commits.

* Erich Keane
[proposes](http://lists.llvm.org/pipermail/cfe-dev/2019-March/061554.html)
exposing arbitrary precision integer types as supported by LLVM IR in Clang.
The [review](https://reviews.llvm.org/D59105) has already attracted a range of
in-depth comments.

* Pavel Labath posted an RFC on [adding a new core2yaml
tool](http://lists.llvm.org/pipermail/lldb-dev/2019-March/014811.html) and
then [followed
up](http://lists.llvm.org/pipermail/llvm-dev/2019-March/130800.html) with an
RFC that instead proposes extending obj27aml with minidump support.


## LLVM commits

* OptRemarks (optimization remarks) have been renamed to "Remarks", reflecting
they are useful beyond just optimization.
[r355439](https://reviews.llvm.org/rL355439).

* The RISC-V backend learned to handle the `-target-abi` option to llvm-mc and
llc, setting the appropriate ELF flags on the output.
[r355771](https://reviews.llvm.org/rL3555771).

* The X86 backend gained a fix so that when EmitLoweredSelect encounters
multiple CMOV pseudo instructions, it will skip debug intrinsics (meaning
codegen isn't altered for `-g`. [r355307](https://reviews.llvm.org/rL355307).

* llvm-mca learned to print information about throughput bottlenecks when
given the `-bottleneck-analysis` option.
[r355308](https://reviews.llvm.org/rL355308).

* Function pointer alignment is now added to datalayout.
[r355685](https://reviews.llvm.org/rL3555685).

* The optimiser can now convert calls to `memcmp` in to calls to `bcmp` in
some cases. [r355672](https://reviews.llvm.org/rL355672).


## Clang commits

* Options for context-sensitive PGO were added to Clang.
[r355331](https://reviews.llvm.org/rL355331).

* The clang-headers target was renamed to clang-resource-headers.
[r355340](https://reviews.llvm.org/rL355340).

* Initial support was added for the OpenMP 5.0 'allocate' directive.
[r355614](https://reviews.llvm.org/rL355614).


## Other project commits

* libc++ gained freestanding `atomic<T>`, non-lockfree atomics without
requiring the use of an external libatomic.
[r355318](https://reviews.llvm.org/rL355318).

* SBReproducer macros were added to lldb, using the lldb-instr tool.
[r355459](https://reviews.llvm.org/rL355459).


More information about the llvm-dev mailing list