LLVM Weekly - #212, Jan 22nd 2018
Welcome to the two hundred and twelfth 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.
News and articles from around the web
LLVM 6.0.0-rc1 has been tagged.
The next LLVM Social in Berlin will take place on Thursday 25th January. Alexander Meißner will present "Symatem - Reinventing Software".
The MoreVMs'18 workshop is seeking paper submissions. The deadline for abstract submission is this Friday 26th January. The workshop will take place on April 9th in Nice, France.
On the mailing lists
-
Tobias Grosser has reignited the discussion on including Polly and isl in core LLVM. Michael Kruse also started a thread focused more specifically on isl (the Integer Set Library). There's been a lot of discussion spread across multiple threads - check out Chris Lattner's initial response and Hal Finkel's excellent summary of what Polly has to offer for LLVM.
-
David Blaikie proposes expanding the LLVM Coding Standards document to discuss layering requirements.
-
Sanjay Patel suggests allowing narrowing to i8 and i16 even when they aren't legal for the target.
-
Adrian Prantl kicked off a discussion about improving the LLDB test suite to support out-of-tree builds.
-
Renato Golin shares his perspective on remaining work to be done on vectorisation in LLVM.
-
Pavel Labath is curious if anyone else is interested in DWARF5 accelerator table support.
-
Sjoerd Meijer has revived the RFC on half-precision floating point support in the Arm backends.
-
Hongbin Zheng is looking for feedback on a new isRegisterRich hook intended to be used for targets such as FPGAs where register pressure is not a concern.
LLVM commits
-
Alignment arguments to memcpy/memmov/memset have been removed in favour of alignment attributes. The commit message contains a sed script that may help updating out-of-tree tests. r322965.
-
MachineCSE can now be run in the middle of the GlobalISel pipeline. As the commit description notes, being able to run optimisations like this at any point of the ISel pipeline was one of the goals of GlobalISel. r322805.
-
The README for the WebAssembly backend has been updated. r322508.
-
Coverage of MC encoding for the base x86 ISA has been hugely expanded with test cases covering I86, I181, I286, I386, I486, PPRO and MMX instruction sets. r322544.
-
GlobalISel gained support for SDNodeXForm by way of GICustomOperandRenderer and GISDNodeXFormEquiv. r322582.
-
The RISC-V backend gained frame pointer elimination and codegen for the RV32M extension. r322839, r322843.
-
AArch64 will now omit callframe setup/destroy when not needed. r322917.
Clang commits
-
Clang gained support for soft-float RISC-V ABI lowering. r322494.
-
ARMv8.2-A FP16 scalar intrinsics have been added. r323006.
-
clang-tidy gained a new checker to complain about the use of
goto
. r322626.
Other project commits
-
libFuzzer gained support for building a private version of libc++, (as I understand it) allowing libFuzzer to be used in cases where the code it is being linked against uses libc++. r322604.
-
libcxx has had constexpr modifiers sprinkled across a range of functions as proposed in P0202. r322489, and others.
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.
Submissions seem to have ceased, so I'm likely going to retire the review corner section in its current form. It was an interesting experiment, huge thanks to those who took the time to help out patches that were 'stuck'.