LLVM Weekly - #283, June 3rd 2019
Welcome to the two hundred and eighty-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. 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
I didn't spot anything in particular. If you think I missed something, feel free to drop me tips for next week.
On the mailing lists
-
Francesco Petrogalli shared an RFC on exposing user-provided vector functions for auto-vectorisation, which generated lots of discussion.
-
Michael Kruse, Bardia Mahjour, Hal Finkel, and Johannes Doerfert are forming a loop optimisation working group, and share a doodle poll for anyone interested in taking part in weekly or bi-weekly calls.
-
Kit Barton proposes making loops guards part of the canonical loop structure.
-
Oliver Giroux proposes an approach for
std::atomic_wait
for libcxx. -
On an architecture with a status register, how to optimise compare instructions where the status register already has the right condition? Eli Friedman explains two options.
-
Melanie Blower is seeking feedback on Intel's plans to submit patches to support
-fp-model=
and-fp-speculation=
. -
The recent thread on removing magic numbers assuming 8-bit bytes generated substantial discussion. Many thanks to Quentin Neill for sending in a list of key posts:
- The standards vs. language vs. frontend vs. backend interplay: http://lists.llvm.org/pipermail/llvm-dev/2019-May/132088.html
- Give and take of upstreaming new stuff vs. maintenance vs.acceptance: http://lists.llvm.org/pipermail/llvm-dev/2019-May/132221.html
- Out of tree maintenance: http://lists.llvm.org/pipermail/llvm-dev/2019-May/132293.html
- The community "discussion model" http://lists.llvm.org/pipermail/llvm-dev/2019-May/132565.html
- Community objections: http://lists.llvm.org/pipermail/llvm-dev/2019-May/132331.html
- Resolving objections: http://lists.llvm.org/pipermail/llvm-dev/2019-May/132333.html
LLVM commits
-
It's been in discussion for a long time, but a scalable vector IR type has now been added! r361953.
-
A (for now) optional type was added to
byval
function parameters in order to prepare the way for opaque pointer types. r362128. -
The ARM fp-only-sp and d16 options were replaced with fp64 and d32. Each subtargetfeature for an FP architecture now comes with different variants for combinations of these options.r361845.
-
New
ISD::LRINT
andISD::LLRINT
SelectionDAG nodes were added along with new intrinsics. r361875. -
An llvm-lipo tool was started, aiming to be a drop-in replacement for the lipo tool for manipulating universal binaries. r361896.
-
MC layer support for more AArch64 SVE2 instructions is being added. r361933, and many more.
-
MC layer support for the new x86 'ENQCMD' instructions was added. r362053.
-
The AsmMatcher now allows repeated input operands if there's a custom converter. r362066.
Clang commits
-
SSE intrinsics have been ported to PowerPC using Altivec. r362190.
-
clangd gained support for outputting a "structured response for Hover", which can be rendered by the client as it needs. r361803.