LLVM Weekly - #178, May 29th 2017

Welcome to the one hundred and seventy-eighth 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

The Rutgers architecture and programming languages research group have a helpful blog post about the subtleties of undefined behaviour in LLVM shifts.

As noticed on Hacker News, a new LLVM backend for Go, gollvm seems to be in development.

The next Zurich LLVM social will be held on May 31st. Please register if you would like to attend.

On the mailing lists

LLVM commits

The LLVM documentation has been expanded to include tips on benchmarking. r303769.

A new GVNSink pass has been added, which sinks instructions based on Global Value Numbering. r303850.

A set of new constrained intrinsics have been added (e.g. llvm.experimental.constrained.sqrt). These intrinsics provide equivalent behaviour to a corresponding libm function, but allow the precise behaviour with respect to the rounding mode and exception behaviour to be controlled. r303922.

Iterator and range accessors have been added for the PHI nodes of a basic block. r303964.

A new localizer pass has been added for use with O0 GlobalISel. It shortens the live ranges of constants to reduce spills introduced by the fast register allocator. r304051.

The scheduling model for AArch64 Falkor has been refined. r304108.

The mapping tables for the X86 backend used to convert between register and memory forms of each instruction are now generated by TableGen. r304088.

Clang commits

There's been a flurry of activity on coroutine support this week. e.g. elision of allocation and deallocation. r303596, r303599.

git-clang-format is now Python 3 compatible. r303871.

Other project commits