LLVM Weekly - #348, August 31st 2020
Welcome to the three hundred and forty-eighth 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
The program for the 2020 Virtual LLVM Developers' Meeting has been announced and registration is now open.
The deadline to submit to this year's LLVM in HPC workshp has been extended to September 4th.
On the mailing lists
-
Josh Stone provided a report on the Rust performance impact of LLVM 11.0.0-rc2.
-
Stephen Tozer provided a heads-up about work to change
llvm.dbg.value
andDBG_VALUE
to support multiple location operands. -
Alexey Lapshin proposes llvm-dwarfutil, a dsymutil-like tool for ELF.
-
James Y Knight proposes to remove MMX support (other than the MC layer assembler definitions). The proposal is to implement the intrinsics in
*mmintrin.h
that currently use MMX in terms of SSE/SSE2 compiler builtins. -
Xing Guo provided a report on their GSoC project to add DWARF support to yaml2obj.
-
Fangrui Song suggests making --warn-backrefs the default for LLD.
-
Stefan Stipanovic is intending to make intrinsics have attributes such as nofree, nosync, and willreturn by default and asks for anyone to share any concerns in the next ~2 weeks.
LLVM commits
-
The machine function splitter was committed. For a clang bootstrap it produces a 2.33% runtime improvement with a ~32% reduction in I-TLB and D-TLB misses. 94faada.
-
Support was added for heap profiling instrumentation. 7ed8124.
-
llvm-lipo gained support for bitcode files. c6f7ac0.
-
llvm-dwarfdump was sped up by almost 4x when redirecting output to a file. b20a4e2.
-
The loop vectorizer gained two fallback strategies for if tail-folding fails: don't vectorise at all or vectorise using a scalar epilogue. bda8fbe.
-
The constant propagation pass was removed as it had no users outside of unit tests. 486ed88.
-
MC layer support was added for the RISC-V Vector Zvamo extension. 888c02d.
-
AArch64 will now generate and parse SEH assembly directives, ensuring you get the same output whether generating code directly to an object file or if generating assembly and then assembling that. 5b86d13.
Clang commits
-
Support for X86 -march=sapphirerapids was committed. e02d081.
-
The
arm_sve_vector_bits
attribute is now supported. feed5a7, 4258734.
Other project commits
-
An unsigned shift base sanitizer was added to detect when an unsigned left shift overflows. Although this isn't undefined behaviour, it can be a source of bugs. 82d29b3.
-
LLVM's libc gained implementations for sqrt, sqrtf, and sqrtl. 5078825a.
-
A new Pattern Descriptor Language (PDL) Interpreter dialect was added to MLIR. d289a97.