LLVM Weekly - #290, July 22nd 2019
Welcome to the two hundred and ninetieth 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
LLVM 9.0 has branched. rc2 is due on 7th August, with the final release scheduled for the 28th of August. This blog post from Stefan Gränitz has a visualisation of which parts of the codebase have changed.
A new paper, AliveInLean: A Verified LLVM Peephole Optimization Verifier. It's a reengineered version of Alive developed in the Lean theorem prover.
Readers might be interested in trip reports from the Cologne ISO C++ Committee meetings from the reddit /r/cpp team and Herb Sutter.
On the mailing lists
-
James Molloy is seeking feedback on some planned refactoring of the MachinePipeliner. Brendan Cahoon gave some initial thoughts.
-
Bardia Mahjour shares the loop optimisation working group minutes from July 17th.
-
After further discussion following the mass variable rename in LLD, Chris Lattner indicates he now thinks doing such a rename all at once is probably the right thing to do.
-
Tim Northover provides really useful guidance on Glue nodes in response to a question on the mailing list.
Sjoerd Meijer is seeking feedback on adding a new tail predicate loop pragma, used to indicate a loop tail can be folded into the main loop.
- Siddharth Bhat shares an RFC on adding multidimensional array indexing intrinsics. This is motivated by a desire to improve accuracy of analyses like dependence analysis.
LLVM commits
-
The RISC-V backend is no longer experimental and will be built be default. r366331.
-
Basic codegen support and instrumentation was added for Arm MTE (Memory Tagging Extension) stack tagging. r366360, r366361.
-
Support was added for the upcoming Arm Transactional Memory Extension (TME). r366322.
-
The RemarkParser interface was simplified and refactored. r366217.
-
WebAssembly gained support for thread-local storage. r366272.
-
ORCv1 layers and utilities now have deprecation warnings. The intent is to remove these before LLVM 10.0. Users should transition to ORCv2. r366344.
Clang commits
-
Lowering was added for the various RISC-V hard float ABIs. r366480.
-
Documentation has been committed for Clang's support of C++ for OpenCL. r366351.
-
The static analyzer docs now cover support for cross-translation unit (CTU) analysis. r366439.