[llvm-dev] LLVM Weekly - #250, October 15th 2018

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Oct 15 15:49:55 PDT 2018


LLVM Weekly - #250, October 15th 2018
=====================================

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

Welcome to the two hundred and fiftieth 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 LLVM Dev Meeting is taking place in San Jose on Wednesday and Thursday
this week and has a jam-packed [schedule](https://llvmdev18.sched.com/). I'm
giving a [LLVM backend development
tutorial](https://llvmdev18.sched.com/event/H2UV/llvm-backend-development-by-example-risc-v)
and an associated [coding
lab](https://llvmdev18.sched.com/event/HGJT/coding-lab-for-risc-v-tutorial).
The "coding lab" is new for this Dev Meeting, and is a hands-on coding session
where attendees can work through a series of LLVM coding tasks (in this case,
focused on the RISC-V backend) in order to get some familiarity. If you're
attending the Dev Meeting you should have received an email via Eventbrite
about Round Tables and this Coding Lab. If you're planning to come along,
please check the guidance [here](https://www.lowrisc.org/llvm/devmtg18/).
Also, do say hi!

The call for papers is
[out](http://lists.llvm.org/pipermail/llvm-dev/2018-October/126905.html) for
the LLVM toolchain devroom at FOSDEM 2019. The deadline for submissions is
Sunday November 25th.


## On the mailing lists

* James Y Knight has shared a [new LLVM git repository conversion
prototype](http://lists.llvm.org/pipermail/llvm-dev/2018-October/126894.html).
There will be a round table discussion on the git migration plan at 4.30pm on
Wednesday at the Dev Meeting.

* Adam Nemet [proposes adding a first-class matrix type to LLVM
IR](http://lists.llvm.org/pipermail/llvm-dev/2018-October/126871.html). There
is lots of interest, but also plenty of questions about the cost/benefit.
David Chisnall provided a good [list of
questions](http://lists.llvm.org/pipermail/cfe-dev/2018-October/059782.html).

* Richard Smith provided a list of [beginner-friendly C++2a feature
implementation
tasks](http://lists.llvm.org/pipermail/cfe-dev/2018-October/059739.html).

* Eric Fiselier
[proposes](http://lists.llvm.org/pipermail/cfe-dev/2018-October/059745.html)
merging the libc++ and libc++abi repositories.

* David Greene is looking for feedback on [re-using as much Clang
infrastructure as possible for the f18 Fortran
frontend](http://lists.llvm.org/pipermail/cfe-dev/2018-October/059789.html).

* Graham Hunter provided an update on [progress implementing the SVE/variable
vector lengths
RFC](http://lists.llvm.org/pipermail/llvm-dev/2018-October/126878.html).

* Nicolai Hähnle shared an RFC on [implementing array register
files](http://lists.llvm.org/pipermail/llvm-dev/2018-October/126772.html).
This aims to improve support for representing large regular register files
such as those in the AMDGPU target.

* Stephen Crane has given an [extensive
update](http://lists.llvm.org/pipermail/llvm-dev/2018-October/126854.html) on
the development of the Pagerando code randomisation mechanism.

* Zachary Turner asks if [LLVM should stop supporting building with Visual
Studio](http://lists.llvm.org/pipermail/llvm-dev/2018-October/126778.html).


## LLVM commits

* The VirtualFileSystem infrastructure has been moved in to LLVM from Clang.
This was primarily motivated by the want to reuse it in LLDB.
[r34140](http://reviews.llvm.org/rL344140).

* Load-store forwarding in DAGCombine was improved.
[r344142](http://reviews.llvm.org/rL344142).

* CodeGen support was added for the AArch64-v8.5A Branch Target Identification
instructions. [r343967](http://reviews.llvm.org/rL343967).

* The X86 backend gained a new conditional branch folding pass, taking
advantage of the three-way conditional code generated by compare instructions.
[r344085](http://reviews.llvm.org/rL344085).

* LocationSize now has an 'imprecise' bit. If set, the LocationSize is just an
upper-bound for the size of the location.
[r344114](http://reviews.llvm.org/rL344114).

* A new library was introduced for parsing optimisation remarks. This provides
a higher level interface than directly using a YAML parser, allowing the
format of optimisation remarks to be changed in the future.
[r344171](http://reviews.llvm.org/rL344171).

* AddressSanitizer was ported from the legacy to the new PassManager.
[r344274](http://reviews.llvm.org/rL344274).

* The RISC-V backend now has patterns to eliminate unnecessary masking of
promoted shift amounts. [r344432](http://reviews.llvm.org/rL344432).

* llvm.minimum and llvm.maximum intrinsics were introduced, corresponding to
the minimum and maximum operations defined in the draft IEEE 754-2018
standard. [r344437](http://reviews.llvm.org/rL344437).


## Clang commits

* Clang will now set appropriate `__code_model_*` defines based on the
`-mcmodel` command-line flag, matching the behaviour of GCC.
[r344000](http://reviews.llvm.org/rL344000).

* ifunc resolvers can now accept arguments, matching GCC behaviour.
[r344100](http://reviews.llvm.org/rL344100).


## Other project commits

* LLDB gained a SymbolFile plugin for cross-platform PDB access. This aims to
replace the previous SymbolFilePDB plugin which was written against libraries
from the proprietary Microsoft SDK.
[r344154](http://reviews.llvm.org/rL344154).

* The implicit integer truncation sanitizer was split into unsigned and signed
checks. [r344231](http://reviews.llvm.org/rL344231).

* The libcxx tree now contains benchmarks for std::function.
[r344415](http://reviews.llvm.org/rL344415).


More information about the llvm-dev mailing list