Alex Bradbury via llvm-dev
2020-May-18 19:53 UTC
[llvm-dev] LLVM Weekly - #333, May 18th 2020
LLVM Weekly - #333, May 18th 2020 ================================ If you prefer, you can read a HTML version of this email at <http://llvmweekly.org/issue/333>. Welcome to the three hundred and thirty-third 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 It has now been five years since Rust 1.0 was released (which of course, uses LLVM as a backend). Read all about progress since then [on the Rust blog](lhttps://blog.rust-lang.org/2020/05/15/five-years-of-rust.html). Egor Bogatov wrote a blog post on [implementing a new peephole optimisation in LLVM](https://egorbo.com/opt-for-llvm-guide.html). ## On the mailing lists * Ties Stuij posted an RFC to collect feedback on [next steps for BFloat](http://lists.llvm.org/pipermail/llvm-dev/2020-May/141545.html), linking to patches currently up for review. * The 7th edition of the MLIR newsletter is [now out](https://llvm.discourse.group/t/mlir-news-7th-edition-5-15-2020/1015), higlighting the mlir-npcomp project (prototype for compiling numpy programs) alongside a range of other developments. * Alexey Lapshin reported on efforts to have [LLD remove obsolete debug info](http://lists.llvm.org/pipermail/llvm-dev/2020-May/141468.html). This `--gc-debuginfo` option has a meaningful impact on size (reducing debug info size by 50%), but increases linking time substantially. * Richard Barton provided an [update on F18/Flang buildbots](http://lists.llvm.org/pipermail/llvm-dev/2020-May/141522.html). * Eric Christopher is seeking feedback on [LLDB pre-merge testing](http://lists.llvm.org/pipermail/lldb-dev/2020-May/016227.html). * [ORC JIT Weekly 16](http://lists.llvm.org/pipermail/llvm-dev/2020-May/141635.html) provides information on JITLink ELF/x86 and updates on removable code. * Daniel Grumberg posted an RFC on [generating CC1 command lines from a CompilerInvocation instances](http://lists.llvm.org/pipermail/cfe-dev/2020-May/065421.html). * David Spickett proposes [changing Clang's tool search path priority](http://lists.llvm.org/pipermail/cfe-dev/2020-May/065432.html) so more specific names on the user's PATH are found before less specific names in the clang install dir. * Simon Moll authored an RFC on [extending Clang to allow bool as a valid vector element](http://lists.llvm.org/pipermail/cfe-dev/2020-May/065434.html). Some of the following discussion focused on whether a vector of bool would be represented as a vector of i1 in IR, and whether this may cause problems. ## LLVM commits * The bfloat type was added to LLVM IR, intended to support the BFloat16 type introduced in Armv8.6. [8c24f33](https://reviews.llvm.org/rG8c24f33158d). * The ARM backend gained support for the machine outliner. [0e4827a](https://reviews.llvm.org/rG0e4827aa4e4). * An x86 Speculative Execution Side Effect Suppression pass was added, to mitigate Load Value Injection. Support for LVI load hardening was also added. [bf95cf4](https://reviews.llvm.org/rGbf95cf4a681), [e97a3e5](https://reviews.llvm.org/rGe97a3e5d9d4), [8ce078c](https://reviews.llvm.org/rG8ce078c7503), [08b8b72](https://reviews.llvm.org/rG08b8b724ee3). * The git-svn utilities were removed, as the Git migration makes them redundant. [f056dac](https://reviews.llvm.org/rGf056dacbd75). * Constant pools are now handled in the RISC-V load/store peephole optimisation, improving codegen especially for loading FP constants. [969e703](https://reviews.llvm.org/rG969e7034275). * A comment directive, `COM:` was added to FileCheck. [a1fd188](https://reviews.llvm.org/rGa1fd188223d). * AMDGPU gained support for spilling the frame pointer to memory. [09253b6](https://reviews.llvm.org/rG09253b608a5). * Alignment of allocas will no longer be promoted beyond the stack alignment. [c9c930a](https://reviews.llvm.org/rGc9c930ae67c). * LLVM's DIModule debug metadata was extended to support Fortran modules. [e59744f](https://reviews.llvm.org/rGe59744fd9b4). * Support was added for the Marvell ThunderX3T110, including an initial definition of the micro-ops for the scheduling model. [382d3a8](https://reviews.llvm.org/rG382d3a85e2a). * Callbacks were added to allow overriding the datalayout after parsing it from a file. [4532a50](https://reviews.llvm.org/rG4532a50899b). ## Clang commits * Clang gained support for the matrix type, which can be enabled with `-fenable-matrix`. [1065869](https://reviews.llvm.org/rG10658691951). * The static analyzer's PlacementNewChecker was extended with a chec for insufficient storage of arrays and bad alignment. [7c37684](https://reviews.llvm.org/rG7c3768495e8). * Use of `_ExtInt` in inline assembly is now prohibited. [5f1f4a5](https://reviews.llvm.org/rG5f1f4a5d015). * clang-format now supports formatting of aligned nested conditionals. [4db9409](https://reviews.llvm.org/rG4db94094b46). ## Other project commits * LLVM libc gained implementations of fabs and fabsf. [4a39a33](https://reviews.llvm.org/rG4a39a33d44f). * LLDB will no longer disassemble large functions by default. [f665e80](https://reviews.llvm.org/rGf665e80c023).