Alex Bradbury via llvm-dev
2017-Jul-17 18:18 UTC
[llvm-dev] LLVM Weekly - #185, Jul 17th 2017
LLVM Weekly - #185, Jul 17th 2017 ================================ If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/185>. 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](http://asbradbury.org). 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 at asbradbury.org>, or @llvmweekly or @asbradbury on Twitter. ## News and articles from around the web Codeplay and Google have [released](https://www.codeplay.com/portal/07-14-17-codeplay-release-clspv-an-opencl-tool-for-vulkan-enabled-devices) 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](https://herbsutter.com/2017/07/15/trip-report-summer-iso-c-standards-meeting-toronto/) online. Michael Wong earlier [shared some pre-meeting thoughts](https://www.codeplay.com/portal/10-06-17-whats-in-cpp-20-and-cpp17-final-score-card). ## On the mailing lists * Sanjay Patel kicked off a [discussion on adding further optimisations to InstCombine](http://lists.llvm.org/pipermail/llvm-dev/2017-July/115398.html). 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](http://lists.llvm.org/pipermail/llvm-dev/2017-July/115245.html). 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](http://lists.llvm.org/pipermail/llvm-dev/2017-July/115299.html) 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`](http://lists.llvm.org/pipermail/llvm-dev/2017-July/115208.html). * LLVM 5.0.0 [will branch on Wednesday 19th July](http://lists.llvm.org/pipermail/llvm-dev/2017-July/115307.html). ## LLVM commits * The Sandy Bridge scheduling information has been completedly replaced with a more accurate model. [r307529](http://reviews.llvm.org/rL307529). * 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](http://reviews.llvm.org/rL308142). * Memory usage of llvm-profdata on large profiles has been reduced substantially. [r307516](http://reviews.llvm.org/rL307516), [r307608](http://reviews.llvm.org/rL307608). * The representation of synchronization scopes has been enhanced. The syncscope annotation is now used rather than 'singlethread'. [r307722](http://reviews.llvm.org/rL30772). * Element-atomic memmove and memset intrinsics have been introduced. [r307796](http://reviews.llvm.org/rL307796), [r307854](http://reviews.llvm.org/rL307854). * The loop interchange pass gained optimization remarks. [r308094](http://reviews.llvm.org/rL308094). ## Clang commits * The @available attribute has been documented. [r308044](http://reviews.llvm.org/rL308044). * The Clang C++ status page has been updated with items from the Toronto WG21 meeting. [r308099](http://reviews.llvm.org/rL308099). * The `-std=c++2a` command-line option has been added to enable potential C++2a features. [r308118](http://reviews.llvm.org/rL308118). * 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](http://reviews.llvm.org/rL308020), [r308021](http://reviews.llvm.org/rL308021). ## Other project commits * The PRNG for the scudo memory allocator has been rewritten. [r307798](http://reviews.llvm.org/rL307798). * The libc++ status page has been updated after the Toronto C++ meeting. [r308153](http://reviews.llvm.org/rL308153).