LLVM Weekly - #209, Jan 1st 2018
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. Subscribe to future issues at https://llvmweekly.org and pass it on to anyone else you think may be interested. Please send any tips or feedback to asb@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: 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. Dr. Biagio Cosenza presents on "Auto-tuning Compiler Transformations with Machine Learning".
On the mailing lists
-
Hans Wennborg reminds us all 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 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.
-
Coverage of X86 Machine Code encoding has been further extended. r321476, r321524.
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.
-
The
-fopenmp-simd
option can be used to enable OpenMP SIMD features without any emission of OpenMP runtime calls. r321560.
Other project commits
-
The build documentation for the LLVM project's OpenMP library has been converted to reStructeredText. r321481.
-
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.
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 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, patch by "serge-sans-paille".