LLVM Weekly - #169, Mar 27th 2017

Welcome to the one hundred and sixty-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 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.

Unfortunately I wasn't able to make it to EuroLLVM this year - I'm looking forward to videos, slides, and reports from the event!

News and articles from around the web

LLVM is taking part in Google Summer of Code again this year and applications are now open. You might also be interested in submitting a proposal for lowRISC.

Herb Sutter has written up a trip report from the Kona ISO C++ standards meeting. The big news from this meeting was obviously that C++17 has now been submitted for ISO approval.

clang-expand is a command-line tool that will intelligently "expand" a given function into the current scope. It provides its output in JSON, and offers a sample editor integration.

On the mailing lists

LLVM commits

The compile time overhead for the MachineOutliner has been massively reduced, with the worst compile time increase in the LLVM test suite now being 22%. r298648.

A LazyValueInfo printer pass has been added, which will be useful for debugging. r298542.

Extensive generated tests for PPC atomic operations have been added. r298614.

The global instruction selector will no longer select trivially dead instructions. r298224.

The AMDGPU backend gained an SDWA (Sub-DWORD Addressing) peephole optimisation pass. r298365.

The @llvm.objectsize intrinsic was extended with a new parameter, indicating whether it should act conservatively with null pointers. r298430.

DataLayout::getAlignmentInfo was modified to use a binary search rather than linear scan. r298579.

A new stable-merge-request.sh script has been added. This will create a stable merge request bug in bugzilla for the given SVN revision and release number. r298705.

Clang commits

A new design proposal has been committed for backward-edge control-flow integrity for return statements. r298303.

A new attribute was added to distinguish between extensible and inextensible enums. r298332.

The -fno-auto-profile and -fno-profile-sample-use command line options were added. r298446.

Code generation for coroutine await and yield expressions was implemented. r298784.

Other project commits