Alex Bradbury via llvm-dev
2019-Mar-11 20:28 UTC
[llvm-dev] LLVM Weekly - #271, March 11th 2019
LLVM Weekly - #271, March 11th 2019 ================================== If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/271>. Welcome to the two hundred and seventy-first 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 David Malcolm has written a piece for the Red Hat blog detailing the [impressive usability and diagnostics improvements in GCC 9](https://developers.redhat.com/blog/2019/03/08/usability-improvements-in-gcc-9/). As Chris Lattner [suggests](http://lists.llvm.org/pipermail/cfe-dev/2019-March/061587.html), there's plenty of opportunity for similar improvements to be made to Clang. The next ETH Zurich compiler social [will be held](http://lists.llvm.org/pipermail/llvm-dev/2019-March/130873.html) on the 14th March, featuring talks on latency sensitive GC for the JVM and safe execution of LLVM IR on the JVM. LLVM 8.0.0-rc4 [has been tagged](http://lists.llvm.org/pipermail/llvm-dev/2019-March/130847.html). A fifth release candidate will [likely be needed](http://lists.llvm.org/pipermail/llvm-dev/2019-March/130889.html). Readers may be interested in slides from the 7th March Sheffield Go meetup on "[Live coding a basic Go compiler with LLVM in 20 minutes](https://github.com/pwaller/go2ll-talk)". ## On the mailing lists * Alex Suso [sought advice on the status of ARM SVE support in LLVM](http://lists.llvm.org/pipermail/llvm-dev/2019-March/130788.html). This triggered some discussion, which then resulted in Renato Golin [starting a new thread](http://lists.llvm.org/pipermail/llvm-dev/2019-March/130852.html) on the next steps for scalable vector types in IR. If you have an interest in this topic, this thread is a great summary of reviews where you can get involved. * Andrew Safronov [proposes](http://lists.llvm.org/pipermail/llvm-dev/2019-March/130796.html) the upstreaming of the Expressif-implemented Tensilica Xtensa (ESP32) backend. Respondents are encouraging, with James Y Knight [suggesting](http://lists.llvm.org/pipermail/llvm-dev/2019-March/130817.html) to follow the structure of the RISC-V LLVM patchset. * Gábor Horváth has [shared](http://lists.llvm.org/pipermail/cfe-dev/2019-March/061555.html) an analysis of cases where lifetime analysis would have been useful for catching errors in recent Clang commits. * Erich Keane [proposes](http://lists.llvm.org/pipermail/cfe-dev/2019-March/061554.html) exposing arbitrary precision integer types as supported by LLVM IR in Clang. The [review](https://reviews.llvm.org/D59105) has already attracted a range of in-depth comments. * Pavel Labath posted an RFC on [adding a new core2yaml tool](http://lists.llvm.org/pipermail/lldb-dev/2019-March/014811.html) and then [followed up](http://lists.llvm.org/pipermail/llvm-dev/2019-March/130800.html) with an RFC that instead proposes extending obj27aml with minidump support. ## LLVM commits * OptRemarks (optimization remarks) have been renamed to "Remarks", reflecting they are useful beyond just optimization. [r355439](https://reviews.llvm.org/rL355439). * The RISC-V backend learned to handle the `-target-abi` option to llvm-mc and llc, setting the appropriate ELF flags on the output. [r355771](https://reviews.llvm.org/rL3555771). * The X86 backend gained a fix so that when EmitLoweredSelect encounters multiple CMOV pseudo instructions, it will skip debug intrinsics (meaning codegen isn't altered for `-g`. [r355307](https://reviews.llvm.org/rL355307). * llvm-mca learned to print information about throughput bottlenecks when given the `-bottleneck-analysis` option. [r355308](https://reviews.llvm.org/rL355308). * Function pointer alignment is now added to datalayout. [r355685](https://reviews.llvm.org/rL3555685). * The optimiser can now convert calls to `memcmp` in to calls to `bcmp` in some cases. [r355672](https://reviews.llvm.org/rL355672). ## Clang commits * Options for context-sensitive PGO were added to Clang. [r355331](https://reviews.llvm.org/rL355331). * The clang-headers target was renamed to clang-resource-headers. [r355340](https://reviews.llvm.org/rL355340). * Initial support was added for the OpenMP 5.0 'allocate' directive. [r355614](https://reviews.llvm.org/rL355614). ## Other project commits * libc++ gained freestanding `atomic<T>`, non-lockfree atomics without requiring the use of an external libatomic. [r355318](https://reviews.llvm.org/rL355318). * SBReproducer macros were added to lldb, using the lldb-instr tool. [r355459](https://reviews.llvm.org/rL355459).