LLVM Weekly - #409, November 1st 2021
Welcome to the four hundred and 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 http://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 submission form for Round Tables at the 2021 LLVM Dev Meeting is now available.
Videos from CppCon 2021 have started to be posted.
Stefan Gränitz blogged about porting the Cling C++ REPL to LLVM 13 and ORCv2.
On the mailing lists
Anton Korobeynikov provided an update on bugzilla migration, reporting “I believe we were able to work-around the majority of GitHub deficiencies (at least those that were show-stoppers). We are checking the results. Hopefully I will be able to return to you with the final migration roadmap soon.”
Carlos Galvez started an RFC thread on contributing Autosar C++14 guidelines support to clang-tidy.
James Nagourne proposed generalising Hexagon’s VLIWMachineScheduler so it can be used by other targets.
Nimit Singhania started a thread to propose adding two static analyses to help detect performance issues in GPU programs.
Luís Ferreira posted to discuss upstreaming an LLDB language plugin for D.
To enable better LLDB+QEMU integration, Pavel Labath proposed a new plugin to integrate with user-mode QEMU.
Anrew Kaylor posted an RFC proposing to eliminate non-IR floating-point controls in the SelectionDAG. ‘As a general principle, I would say, “All semantics must be represented in the IR and the backend must respect the IR semantics.” And a corollary: “Anything which can be represented at the instruction level must be represented at the instruction level.” This corollary would eliminate potential conflicts between function attributes (like “unsafe-fp-math”) and individual IR instructions.’ Respondents so far are in favour.
Teresa Johnson shared an RFC introducing an IR metadata format for the sanitizer-based heap profiler (MemProf) when it is fed back into a subsequent compile for profile guided heap optimisation.
LLVM GPU News #22 is out.
LLVM commits
Debug info location tracking was improved for the case where instructions have stack spills fused into them. ee3eee7.
The number of RISC-V vector builtins was reduced from ~25000 to ~1100 by sharing bultins for many different types. e2b7aab.
Support was added for the AArch64 ‘R’ architecture profile. 8689f5e.
A script for building release documentation was committed. 622346c.
DeadStoreElimination learned to eliminate redundant stores of an existing value. f87e0c6.
Guidance for buildbot owners was clarified. a70a563.
Clang commits
A std::string checker was started as part of the Clang Static Analyzer. e1fdec8.
Clang vector builtins were documented, and some implementations committed. 025988d, 025988d.
git-clang-format gained a –staged/–cached option. bee61aa.
Other project commits
The automemcpy framework for automatic generation of fundamental memory operations was added to LLVM’s libc project. 00c943a.
The base of flang’s FIR to LLVM IR MLIR dialect conversion pass was committed. 044d5b5.
LLDB’s statistics dump command now reports the time it takes to parse and index the symbol tables for each module. c571988.
MLIR interfaces were exposed through the Python bindings. 14c9207.
Support was added for Bazel builds on Windows with clang-cl. 112dc16.