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 https://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
-
Sanjay Patel kicked off a discussion on adding further optimisations to InstCombine. This led to an interesting debate on how to handle these sorts of optimisations in LLVM, and whether LLVM can be doing something more principled and scalable.
-
Dylan McKay shared an RFC on supporting Harvard architectures. In this case, the motivation is for the in-tree AVR backend. A number of maintainers of out-of-tree backends for Harvard architectures dropped by with some useful input.
-
George Karpenkov has updated the list on efforts to move libFuzzer to compiler-rt. As later replies point out, sorting out the licensing change is one barrier that remains to be sorted.
-
Takumi Nakamura shares numbers on build-time improvements for building with
LLVM_ENABLE_MODULES
. -
LLVM 5.0.0 will branch on Wednesday 19th July.
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.