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 http://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

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'.