Alex Bradbury via llvm-dev
2018-Nov-19 17:27 UTC
[llvm-dev] LLVM Weekly - #255, November 19th 2018
LLVM Weekly - #255, November 19th 2018 ===================================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/255>. Welcome to the two hundred and fifty-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](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 Videos from the 2018 LLVM Developers' Meeting are starting to be posted on the [LLVM Foundation's YouTube channel](https://www.youtube.com/playlist?list=PL_R5A0lGi1AARZysSx4VzpaLAzny4es2e). Reminder: the deadline for the [LLVM Toolchain Devroom at FOSDEM CfP](http://lists.llvm.org/pipermail/llvm-dev/2018-October/126905.html) is this coming Sunday 25th November. Robert O'Callahan has written a blog post which [compares the quality of debug information produced by Clang and GCC](https://robert.ocallahan.org/2018/11/comparing-quality-of-debug-information.html). ## On the mailing lists * JF Bastien has started an RFC thread on [automatic variable initialisation in Clang](http://lists.llvm.org/pipermail/cfe-dev/2018-November/060172.html). The proposed patch allows automatic variables to be initialized with either a pattern or with zeroes. There are [some concerns](http://lists.llvm.org/pipermail/cfe-dev/2018-November/060178.html) that zero-initialisation might be over-relied upon, effectively creating a new dialect of C++. Kostya Serebryany [shares](http://lists.llvm.org/pipermail/cfe-dev/2018-November/060177.html) a long list of bugs, vulnerabilities, and exploits based on uses of uninitialized memory. * Yitzhak Mandelbaum is proposing [a framework that makes it easier to write source-to-source transformations with the clang::Tooling libraries](http://lists.llvm.org/pipermail/cfe-dev/2018-November/060184.html), and is seeking comments. * Kristina Brooks is wondering if there is any interest in a [`_Mangle` compiler extension](http://lists.llvm.org/pipermail/llvm-dev/2018-November/127838.html) for converting strings to identifiers/symbols. * Sam McCall is [seeking feedback](http://lists.llvm.org/pipermail/llvm-dev/2018-November/127755.html) on using the VirtualFileSystem abstraction for real filesystem interaction. * John Brawn is looking for feedback on [how to improve SimplifyCFG block speculation](http://lists.llvm.org/pipermail/llvm-dev/2018-November/127769.html). Krzysztof Parzyszek is [in favour of rewriting SimplifyCFG](http://lists.llvm.org/pipermail/llvm-dev/2018-November/127777.html). * Erich Keane would [like to know](http://lists.llvm.org/pipermail/cfe-dev/2018-November/060168.html) if anyone has any concerns about removing support for pre-tokenized headers from Clang. * Matthew Davis kicked off an RFC discussion on [adding binary support to llvm-mca](http://lists.llvm.org/pipermail/llvm-dev/2018-November/127784.html), allowing selected regions of code in an object file to be analysed. * Sjoerd Meijer [proposes](http://lists.llvm.org/pipermail/llvm-dev/2018-November/127757.html) that `-Oz` should imply `-mthumb`. Some respondents are concerned that changing the the target instruction set based on optimisation level may be confusing. ## LLVM commits * A new `fneg` IR instruction was introduced. [r346774](https://reviews.llvm.org/rL346774). * The MSP430 backend now has an MC layer implementation. [r346948](https://reviews.llvm.org/rL346948), [r346949](https://reviews.llvm.org/rL346949). * Initial 'scaffolding' for a GN build system was added. As explained in the commit message, this build is unsupported. So far, just enough build logic was added to build llvm/lib/Demangle. [r347128](https://reviews.llvm.org/rL347128). * An OptimizerLast extension point was added to th new pass manager. [r346645](https://reviews.llvm.org/rL346645). * FileCheck learned a new CHECK-COUNT-num directive which matches the same pattern exactly `num` times. [r346722](https://reviews.llvm.org/rL346722). * The WebAssembly backend gained support for the event section as specified in the WebAssembly exception handling proposal. [r346825](https://reviews.llvm.org/rL346825). * A new superword-level parallelism analysis has been implemented on top of VPlan. [r346857](https://reviews.llvm.org/rL356857). * The MachineScheduler will now bias physical register immediate assignments to minimize live ranges. [r346894](https://reviews.llvm.org/rL346894). * The RISC-V backend gained a new helper for immediate materialisation. [r346937](https://reviews.llvm.org/rL346937). ## Clang commits * The Clang AST APIs were updated to allow limiting the scope of common AST traversals. [r346847](https://reviews.llvm.org/rL346847). * llvm-config has been deprecated as a method for detecting an LLVMinstallation. [r346732](https://reviews.llvm.org/rL346732). * The Clang CMake build-system was enhanced to support cross-compiling with multi-stage builds. [r347025](https://reviews.llvm.org/rL347025). ## Other project commits * The WebAssembly LLD linker now has initial support for shared objects. [r346918](https://reviews.llvm.org/rL346918). * LLD gained support for PPC64 long branch thunks. [r346877](https://reviews.llvm.org/rL346877). * LLDB's new `target.require-hardware-breakpoint` option forces the use of hardware breakpoints. [r346920](https://reviews.llvm.org/rL346920).