LLVM Weekly - #225, Apr 23rd 2018

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

For those of you attending the Barcelona RISC-V Workshop May 7th-10th, be sure to come along to my short tutorial session on RISC-V LLVM.

News and articles from around the web

As usual, EuroLLVM was a huge success. The LLVM community is again indebted to the organisers and presenters for their efforts. Talks were recorded, and I will of course update you when they are available.

The LLVM Foundation Board have put together a status and overview page of the LLVM Relicensing effort. This includes a list of next steps and schedule estimate.

On the mailing lists

Manoj Gupta kicked off an RFC discussion on implementing -fno-delete-null-pointer-checks in Clang. This flag is used when building the Linux kernel. This flag has the semantics "Assume that programs cannot safely dereference null pointers, and that no code or data element resides at address zero". The proposal has triggered quite a lot of discussion so far.

Jessica Paquette proposes turning the MachineOutliner on by default in AArch64 under -Oz . As Jessica explains, the hope is that the same outlining algorithm and interface can be used for the proposed IR-level outlining pass. On CTMark, outlining is giving an extra 4.4% geomean text size reduction for the cost of a geomean 1.1% compile-time overhead.

Alex L announces that Apple have decided to switch focus from the libclang-based tooling infrastructure in order to join forces on Clangd development. They intend to contribute towards making Clangd faster, more capable, and more efficient.

Pavel Labath suggests making use of LLD in LLDB tests in order to make them host independent.

John Brawn has shared an RFC on making GVN (Global Value Numbering) able to visit the same block more than once. Daniel Berlin suggests that GVN might not be the right place for the transformation John is trying to achieve, but recognises there aren't particularly good alternative options currently.

LLVM commits

A new update_mca_test_checks.py script has been added, to aid regenerating llvm-mca tests. r330246.

MC layer support for AArch64 SVE continues to develop. r330108, r330116, and more.

The X86 backend gained support for new X86 'WaitPKG' instructions: umonitor, umwait, and tpause. r330462.

Clang commits

The -falign-functions flag is now supported. r330378.

The ARM Clang driver will now add target features explicitly rather than rewriting the triple. r330169.

Other project commits