[llvm-dev] LLVM Weekly - #209, Jan 1st 2018

Alex Bradbury via llvm-dev llvm-dev at lists.llvm.org
Mon Jan 1 12:44:06 PST 2018


LLVM Weekly - #209, Jan 1st 2018
================================

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

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

Happy New Year! The new year also marks a major milestone for LLVM Weekly,
which has now been going for _four_ years, maintaining a totally unbroken
streak: a new issue every single Monday without fail(!). Thank you for
reading, lets hope 2018 is another great year for the LLVM project.

It's been a very quiet week this week, presumably as most developers have been
taking a break. As such, we're slightly lighter on content than usual.


## News and articles from around the web

Todd Fleming has produced a fun (or maybe horrifying?)
[demo](https://github.com/tbfleming/cib): cib - compiling Clang to WebAssembly
and running it in the browser. It's incomplete, but works for simple cases.

A recording from the presentation at the 10th Berlin LLVM Social is [now
available](https://www.youtube.com/watch?v=x7iLb-znxgU). Dr. Biagio Cosenza
presents on "Auto-tuning Compiler Transformations with Machine Learning".


## On the mailing lists

* Hans Wennborg [reminds us
all](http://lists.llvm.org/pipermail/llvm-dev/2017-December/120016.html) that
LLVM 6.0.0 will branch this Wednesday 3rd Jan. The current release schedule
will see RC1 on Jan 17th, RC2 on Feb 7th, and the final release on Feb 21st.

* Puyan Lotfi has
[proposed](http://lists.llvm.org/pipermail/llvm-dev/2017-December/119995.html)
changing the use of sigils in Machine IR. The proposal is to use `&` for
external symbols, `$` for physical registers and `%` for virtual registers.


## LLVM commits

* A whole bunch of code has been cleaned up through the use of phi ranges.
[r321585](https://reviews.llvm.org/rL321585).

* Coverage of X86 Machine Code encoding has been further extended.
[r321476](https://reviews.llvm.org/rL321476),
[r321524](https://reviews.llvm.org/rL321524).


## Clang commits

* Clang gained support for configuration files containing driver options. They
may be specified explicitly, or the configuration file might be encoded in the
executable name (the associated documentation suggests an armv7-clang symlink
would cause clang to search for armv7l.cfg).
[r321587](https://reviews.llvm.org/rL321587).

* The `-fopenmp-simd` option can be used to enable OpenMP SIMD features
without any emission of OpenMP runtime calls.
[r321560](https://reviews.llvm.org/rL321560).


## Other project commits

* The build documentation for the LLVM project's OpenMP library has been
converted to reStructeredText. [r321481](https://reviews.llvm.org/rL321481).

* LLD's COFF linker has been optimised by avoiding parsing arguments twice.
As noted in the commit message, Chromium's `blink_core.dll` has 300MB input
arguments in .directives meaning this change improves link time by around 15%.
[r321470](https://reviews.llvm.org/rL321470).


## Review corner

The LLVM Weekly review corner serves to highlight patches that are stuck
waiting awaiting review, or work from first-time contributors. See
[here](http://llvmweekly.org/reviewcorner) for more information and how to
submit you work for inclusion. Of course the hope is that highlighting these
patches will enable LLVM Weekly readers will step up and help to get them
merged. I'll be reporting back each week on any activity generated on these
patches, as well as sharing a new batch. If you want your patch included you
must submit it via the linked form.

Now new submissions this week, but last week's submission remains unreviewed.
This is understandable, as most devs have been on holiday, so I'm
re-advertising:

* "Syndicate common code between CallInst and InvokeInst in a shared template
base class. No functional change expected, but much less redundant code to
support.". [D40727](https://reviews.llvm.org/D40727), patch by
"serge-sans-paille".


More information about the llvm-dev mailing list