LLVM Weekly - #151, Nov 21st 2016

Welcome to the one hundred and fifty-first 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

Videos of talks at recent LLVM Dev Meeting are now making their way on to Youtube.

You may be be interested, amazed, and/or horrified to learn of constexpr-8cc. It provides a compile-time C compiler implemented as C++14 constant expressions.

The European LLVM Developers Conference (aka EuroLLVM) has been announced. It will be held March 27th-28th in Saarbrücken, Germany. The call for papers is open from now until January 27th.

On the mailing lists

LLVM commits

A machine scheduler was added for the Cortex-R52. r286949.

BPF's textual assembly format now matches that used by the kernel verifier. r287300.

For most backends, it will now be checked that emitted instructions meet their predicates. r287439.

The llvm-cxxfilt tool now supports reading from stdin. r286777.

TableGen gained a new !or operator. r286936.

The AArch64 backend will lower multiplication by an appropriate constants to shl+add+shl. r287019.

AddressSanitizer gained support for constant-masked loads and stores. r287047.

The ELF.h header has moved to using the new Expected<T> error handling. r287081.

A fairly large AVRExpandPseudoInsts pass has landed. The pseudo instructions are needed to work around LLVM's assumption that all integers with the same size as the pointer size are legal. r287162.

A BPF disassembler has been added. r287477.

Clang commits

The include-fixer tool has been refactored to make it usable as a plugin. r287228.

A new warning has been added, which triggers when assigning enums to bitfields without an explicit unsigned type. This is a portability issue for programs that might be compiled using the MS ABI. r287177.

Clang gained support for the -dI flag, which outputs include directives in addition to the result of preprocessing. r287275.

The clang-move tool now supports moving functions. r287101.

Other project commits