Alex Bradbury via llvm-dev
2019-Feb-11 20:17 UTC
[llvm-dev] LLVM Weekly - #267, February 11th 2019
LLVM Weekly - #267, February 11th 2019 ===================================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/267>. Welcome to the two hundred and sixty-seventh 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](https://www.linkedin.com/in/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 at asbradbury.org>, or @llvmweekly or @asbradbury on Twitter. ## News and articles from around the web LLVM 8.0.0-rc2 [has been tagged](http://lists.llvm.org/pipermail/llvm-dev/2019-February/130057.html). An LLVM 7.1.0 branch [has been prepared](http://lists.llvm.org/pipermail/llvm-dev/2019-February/129985.html) for release. This introduces a minor version number for the first time, necessary as this is an ABI breaking change. The release is purely to fix [PR39427](https://bugs.llvm.org/show_bug.cgi?id=39427). The program for EuroLLVM'19 (April 8-9 in Brussels, Belgium) has been [announced](http://blog.llvm.org/2019/02/eurollvm19-developers-meeting-program.html). Clazy 1.5 [has been released](https://www.kdab.com/clazy-1-5-released/). Clazy is a clang compiler plugin which emits warnings related to Qt best practices. ## On the mailing lists * Michael Platings has written an RFC on [changing variable naming rules in the LLVM codebase](http://lists.llvm.org/pipermail/llvm-dev/2019-February/130083.html). In short, this proposes changing variable names from UpperCamelCase to lowerCamelCase. It follows on from [discussion last week](http://lists.llvm.org/pipermail/llvm-dev/2019-February/129854.html). If you have strong views about variable naming, now is the time to voice them. * JF Bastien [reports](http://lists.llvm.org/pipermail/llvm-dev/2019-February/130117.html) that LLVM's build system will now soft error if you attempt to build using toolchains older than Clang 3.5, Apple Clang 6.0, GCC 5.1, Visual Studio 2017. * Bruce Hoult provides [detailed insight](http://lists.llvm.org/pipermail/llvm-dev/2019-February/129969.html) into recent changes to the RISC-V Vector proposal. * Matthew Arsenault [proposes](http://lists.llvm.org/pipermail/llvm-dev/2019-February/129983.html) an RFC on enforcing immediate operands for intrinsics in TableGen. There seems to be broad support for this idea. * Ananthakrishna Sowda and collaborators [shared](http://lists.llvm.org/pipermail/llvm-dev/2019-February/130094.html) an RFC on improving debug information in LLVM to recover optimized-out function parameters. A version of this proposal is implemented for LLVM 4.0, but needs updating to current trunk for submission upstream. * Josef Eisl is [seeking feedback](http://lists.llvm.org/pipermail/llvm-dev/2019-January/129657.html) on an RFC to support embedding bitcodes in LLD with LTO. If you'd be interested in this feature, speak up! * Dan Liew [proposes](http://lists.llvm.org/pipermail/llvm-dev/2019-February/129967.html) removing support for `LLVM_TOOL_<PROJECT>_BUILD` CMake cache variables on the basis that you can just use `LLVM_ENABLE_PROJECTS` instead if the mono-repo layout is being used. He proposes two paths forward. * Oliver Giroux asks [what C++03 support should `<atomic>` have](http://lists.llvm.org/pipermail/libcxx-dev/2019-February/000197.html) in libcxx? * Louis Dionne [proposes](http://lists.llvm.org/pipermail/libcxx-dev/2019-February/000191.html) removing deprecated `<ext/hash_set>`, `<ext/hash_map>`, and `<ext/_hash>` from libcxx. There was [some concern](http://lists.llvm.org/pipermail/libcxx-dev/2019-February/000202.html) about removing these. ## LLVM commits * Initial support for asm-goto has been committed. [r353563](https://reviews.llvm.org/rL353563). * Runtime of llvm-exegesis was substantially reduced by introducing a map to avoid a linear search. [r353024](https://reviews.llvm.org/rL353024). * The hidden `-print-schedule` flag was removed. Users should move to llvm-mca for debugging/testing scheduling models. [r353043](https://reviews.llvm.org/rL353043). * New intrinsics were introduced for unsigned fixed point multiplication. [r353059](https://reviews.llvm.org/rL353059). * CodeGenPrepare learned to sink operands to their users if indicated via the new `shouldSinkOperands` hook. [r353152](https://reviews.llvm.org/rL353152). * LLVM's ADT library gained a `fallible_iterator` wrapper. [r353237](https://reviews.llvm.org/rL353237). * The BPF backend now supports codegen for the newly added JMP32 instruction. [r353384](https://reviews.llvm.org/rL353384). * The minimum toolchain version to compile LLVM was bumped. For now, you can use `LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN` to use a soon-to-be-deprecated toolchain. [r353374](https://reviews.llvm.org/rL353374). ## Clang commits * The Clang Static Analyzer gained a new Sphinx-based documentation infrastructure. [r353126](https://reviews.llvm.org/rL353126). * The SMT solver API was moved into a single file in preparation for being moved to LLVM. [r353372](https://reviews.llvm.org/rL353372). ## Other project commits * A 'standalone' version of the Scudo secure memory allocator was checked in. [r353055](https://reviews.llvm.org/rL353055). * LLDB now supports expression evaluation in the context of some object. [r353149](https://reviews.llvm.org/rL353149).