LLVM Weekly - #310, December 9th 2019
Welcome to the three hundred and tenth 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.
If you're at the RISC-V Summit this week, be sure to drop by the lowRISC Booth and say hello.
News and articles from around the web
LLVM 9.0.1-rc2 has been tagged.
On the mailing lists
-
Hans Wennborg has shared the proposed 10.0.0 release schedule. This would see a branch taking place on 15th January with the target date for the final being 25th Feb 2020.
-
Kristof Beyls is seeking program comittee volunteers for EuroLLVM 2020.
-
Gábor Horváth wrote an RFC proposing function annotations as a next step in the effort to implement Herb Sutter's lifetime analysis. The proposed annotations would give information about the lifetime of function return values or output arguments.
-
Michael Woerister fed back that as far as he's aware, profile-guided optimisation now works exactly as expected with Rust.
-
Sander De Smalen is working to set up SVE/SVE2 LLVM sync-up calls. The first will take place on Thursday 12th Dec at 4pm GMT.
-
Dmitri Gribenko reports that he's set up a new buildbot with the new pass manager enabled.
-
Brian Gesiak kicked off an RFC discussion on potentially extending Clang to help identify wasteful template function bodies. This work would be motivated by a desire to help programmers identify ways to reduce compilation time.
LLVM commits
-
The ARMCodeGenPrepare pass has graduated from the Arm backend to a generic TypePromotion pass. bc76dad.
-
LLVM's documentation on contributing was expanded to discuss
git-clang-format
. 06911ae. -
The LangRef was updated to clarify the behaviour of poison within vector elements. ead0d77.
-
The MachineVerifier will now check that the operand type matches that of the descriptor. 4fd8f11.
-
GlobalISel now allows targets to override how to widen constants during legalisation. 6da7dbb.
-
The register coalescer was updated so that if it rematerialises a register, it only sets a subregsiter rather than the super-register, if possible. 2ec71ea.
Clang commits
-
Concepts implementation work continues with the addition of enforcement for associated constraints and elaborated diagnostics on why constraints weren't satisfied. fdf80e8.
-
The new SpacesInConditionalStatement option for clang-format will insert spaces inside the braces for if/for/while conditions. e.g.
if ( a )
. 26748a3. -
Clang learned a
Wmisleading-indentation
warning. bc840b2. -
clang-tidy modernize-avoid-bind check was rewritten, adding significant new functionality. 64f74bf.