Alex Bradbury via llvm-dev
2017-Feb-20 19:21 UTC
[llvm-dev] LLVM Weekly - #164, Feb 20th 2017
LLVM Weekly - #164, Feb 20th 2017 ================================ If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/164>. Welcome to the one hundred and sixty-fourth 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 Sources and binaries for LLVM 4.0.0-rc2 are [now available](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110167.html). Get testing! The next LLVM social in Berlin [will be held on February 23rd](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110298.html). The next LLVM social in Belgium [will be held on the 6th of March](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110276.html). The NetBSD Foundation has a new blog post summarising [recent changes to LLDB for NetBSD support](http://blog.netbsd.org/tnf/entry/the_first_patch_bulk_upstreamed). Manu Sánchez has blogged about [writing AST matchers for libclang](http://manu343726.github.io/2017/02/11/writing-ast-matchers-for-libclang.html). Version 5 of the DWARF debugging standard [has been released](http://dwarfstd.org/DWARF5PressRelease.php). ## On the mailing lists * Would you be interested in an LLVM social [in Sweden](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110284.html) or [in Italy](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110277.html)? If so, speak up! * Quentin Colombet has [clarified the plan for moving forwards with GlobalISel](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110095.html). * Ayalk Zaks and Gil Rapaport are [seeking feedback](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110159.html) on 'VPlan', a model for vectorisation that hopes to capture all vectorisation decisions. A PDF detailing VPlan is [available here](https://reviews.llvm.org/D28975#655369). * Zachary Turner has written up on RFC on [adding a new stream abstraction to LLVM](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110342.html). The proposed ThinStream gives a read-only API that encourages zero-copy access, while WritableThinStream allows writing. There are also variants that allow reading and writing of semantic data rather than raw bytes. * Mehdi Amini [kicked off discussion](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110274.html) on what sort of criteria LLVM should use to rank proposed student projects. * Steven Perron has written an RFC on [representing unions in TBAA](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110082.html). * Witold Waligora has proposed [JumpMaps, a variant/generalisation of JumpTables](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110088.html). * Martell Malone has proposed a [new dlltool replacement for LLVM](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110097.html), and is looking for feedback. * Alex Bradbury has written an [RFC about setting FrameSetup/FrameDestroy MachineInstr flags](http://lists.llvm.org/pipermail/llvm-dev/2017-February/110281.html) when spilling or restoring callee-saved registers. We'd really welcome further feedback from debuginfo experts. ## LLVM commits * Support for "debug counters" was added. This is a tool to help narrow down miscompilation to a particular transformation from the command-line. [r295595](http://reviews.llvm.org/rL295595). * The default threshold for full loop unrolling has been increased for the O3 optimisation level, meaning more loops will be unrolled. [r295538](http://reviews.llvm.org/rL295538). * Documentation on LLVM's type-based alias analysis metadata has seen a sizable update. [r294999](http://reviews.llvm.org/rL294999). * Tablegen DAGGenISelDAG gained a new feature to aid debugging instruction selection. [r295081](http://reviews.llvm.org/rL295081). * MachineBlockPlacement learnt to better layout trellis-shaped CFGs. [r295223](http://reviews.llvm.org/rL295223). * Support for the Cavium ThunderX ARM64 processors (including a scheduler) was added. [r295475](http://reviews.llvm.org/rL295474). ## Clang commits * The number of UBSan-inserted null checks on C++ object pointers has been significantly reduced. [r295391](http://reviews.llvm.org/rL295391). * Clang's code completion now recognises the previously missing C++11 keywords. [r295001](http://reviews.llvm.org/rL295001). * C++1z class template argument deduction is now considered 'done'. [r295011](http://reviews.llvm.org/rL295011). * The new readability-misleading-indentation checker will warn if indentation around unbraced if/else statements may be misleading (and likely indicate programmer error). [r295041](http://reviews.llvm.org/rL295041). ## Other project commits * XRay is now supported on the MIPS targets. [r295166](http://reviews.llvm.org/rL295166). * The LLDB Utility library is now standalone, without dependencies on other parts of LLDB. [r295368](http://reviews.llvm.org/rL295368).