LLVM Weekly - #185, Jul 17th 2017

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

News and articles from around the web

Codeplay and Google have released clspv, a compiler from a subset of OpenCL to Vulkan compute shaders.

A C++ standards meeting has just taken place in Toronto. Herb Sutter already has a trip report online. Michael Wong earlier shared some pre-meeting thoughts.

On the mailing lists

LLVM commits

The Sandy Bridge scheduling information has been completedly replaced with a more accurate model. r307529.

The X86 backend now has a CMOV conversion patch which will convert a CMOV to a branch if it is deemed likely to be profitable. r308142.

Memory usage of llvm-profdata on large profiles has been reduced substantially. r307516, r307608.

The representation of synchronization scopes has been enhanced. The syncscope annotation is now used rather than 'singlethread'. r307722.

Element-atomic memmove and memset intrinsics have been introduced. r307796, r307854.

The loop interchange pass gained optimization remarks. r308094.

Clang commits

The @available keyword has been documented. r308044.

The Clang C++ status page has been updated with items from the Toronto WG21 meeting. r308099.

The -std=c++2a command-line option has been added to enable potential C++2a features. r308118.

bugprone-undefined-memory-manipulation and bugprone-suspicious-memset-usage checks have been added. The former warns on memset/memmove/memcpy on objects that aren't trivially copyable while the latter warns on common erroneous memset arguments. r308020, r308021.

Other project commits