LLVM Weekly - #249, October 8th 2018
Welcome to the two hundred and forty-ninth 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. Subscribe to future issues at https://llvmweekly.org and pass it on to anyone else you think may be interested. Please send any tips or feedback to asb@asbradbury.org, or @llvmweekly or @asbradbury on Twitter.
News and articles from around the web
Videos are now available from the GNU Tools Cauldron 2018.
The LLVM Dev Meeting 2018 is taking place next week. I hope to see many of you there. I'll be giving a tutorial on LLVM backend development (using RISC-V as an example of course) and running a RISC-V LLVM backend coding lab session.
On the mailing lists
-
Kristof Beyls kicked off a discussion on the LLVM bug lifecycle in preparation for the birds of a feather session at the LLVM Dev Meeting next week. He proposes several actions that would hopefully improve the bugzilla experience for LLVM developers and bug submitters.
-
Tom Stellard proposes the release schedule for LLVM 7.0.1. In this schedule, 7.0.1 would be released on December the 5th.
-
Jonas Devlieghere posted an RFC on moving clang's Virtual File System infrastructure to LLVM. This would allow it to be used by LLDB when implementing support for "reproducers".
-
Tanya Lattner is looking for moderators for the LLVM Dev Meeting next week.
-
Frank Schaefer is looking for feedback on an RFC to rearchitect the GNU toolchain driver support in Clang, with the motivation of simplifying multilib support.
-
Chandler Carruth provided feedback in the thread discussing implementing OptBisect for the new pass manager. This generated a number of further responses, with LLVM developers sharing how opt-bisect currently fits into their workflow.
-
Thomas Lively proposes new floating point minimum and maximum intrinsics, matching the operations defined in the draft IEEE754-2018 draft standard.
-
Zachary Turner proposes replacing all LLDB PDB code with a non-Windows specific implementation. As explained in the RFC, LLVM currently supports parsing PDB files but LLDB makes use of native (Windows-only) APIs instead. Zachary proposes porting LLDB to use the low-level API in LLVM, rather than trying to provide LLDB's current PDB API as a layer on top of it.
-
Alex Bradbury created an RFC thread seeking feedback on two different implementation approaches to 64-bit RISC-V support. As described in the RFC, the cleanest is to make full use of TableGen's variable-sized register class support and have i64 as the only legal type. This exposes several areas where new target hooks can improve the quality of generated code. Feedback so far has been positive on this approach, rather than modelling i32 subregs.
LLVM commits
-
WebAssembly was promoted from an experimental target. r343746.
-
-time-passes
was implemented for the new pass manager. r343898. -
The RISC-V backend gained support for named CSRs (system registers as defined in the spec). r343822.
-
The X86, AArch64 and ARM backends will no longer attach a debug location to spill/reload instructions on the basis that they have no relation to the original source code. r343895.
-
GlobalISel gained new combiner helpers for extending loads, which are put to use in an AARch64 pre-legalize combiner. r343564.
-
Instructions and registers from AArch64 v8.5A Memory Tagging Extension are now recognised by the MC layer.r343570, r343571, r343572.
-
llvm-mca learned to check if a register move can by eliminated by the underlying physical register file. r343691.
-
The enableMultipleCopyHints hook was removed, as multiple regalloc hints are always enabled. r343851.
Clang commits
-
The Clang Windows getting started documentation was updated. r343809.
-
ASan can now be used with MinGW. r343437.