LLVM Weekly - #240, August 6th 2018

Welcome to the two hundred and fortieth 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 7.0.0 rc1 has been tagged. Release blockers are tracked here.

Rust 1.28 was released.

On the mailing lists

LLVM commits

Profile loading functionality for XRay was implemented. r338825.

Pseudo-iterator adaptors implementing 'early increment' style loops were added to LLVM's ADT library. r338955.

The MachineOutliner for AArch64 learned to save LR to a register rather than the stack. r338278.

llvm-mca documentation was extended to describe the instruction flow. r338319.

Rudimentary C++11 support was added to the MS demangler. r338324.

A very subtle miscompile due to a bug in EFLAGS copy lowering for X86 was fixed. Chandler suggests maintainers of out-of-tree branches using the X86 backend may want to cherry-pick this fix. r338481.

The Hexagon backend will now simplify the control-flow graph after atomic expansion. r338774.

Assembler/disassembler support for Arm SVE is now complete.

r338261.

Clang commits

Support for a new implicit conversion sanitizer was added. r338288.

Clang learned to support the [[clang::lifetimebound]] attribute. This indicates the lifetime of a function result is related to one of the function arguments. r338464.

Clang's ABI lowering for composite types on AArch64 and ARM was adjusted to match GCC and the AAPCS. r338279.

Other project commits