LLVM Weekly - #312, December 23rd 2019

Welcome to the three hundred and twelfth 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

LLVM 9.0.1-final has been tagged.

EuroLLVM 2020 registration is now open. The call for papers remains open until Jan 11th. The event itself will take place April 6th-7h in Paris.

As a reminder, the call for papers for the fourth LLVM performance working at CGO 2020 is open until January 5th. The workshop will take place on 23rd Feb in San Diego.

On the mailing lists

LLVM commits

Initial support was added for aligning branches on x86 within a 32-byte boundary. This is part of work intended to mitigate performance regressions from Intel's microcode update for the Jump Conditional Code erratum. 14fc20c.

The necessary hooks to allow the machine outliner to run were written for RISC-V a116f28.

BasicBlockUtils gained a new utility to remove redundant dbg.value instructions. 1c49553.

The update_{llc,cc}_test_checks.py scripts now have tests. 240aff8.

The AArch64 backend now supports return address signing for outlined functions. df0cc10.

A per-function TargetLibraryInfo is now used, allowing -fno-builtin to be handled using function attributes. 878ab6d.

The git-llvm script was extended to allow push to GitHub via SSH. 38dd2d5.

Constrained intrinsics were added for signed and unsigned conversations of integers to floating point, as well as llvm.minimum/llvm.maximum. b1d8576, 1946461.

A single ldp or sdp will now be generated for a volatile i128 load/store on AArch64. 364b8f5.

InstCombine will consider over 1000 iterations as an infinite loop (this can be configured via a command line option). c431c40.

Clang commits

The Syntax library now allows the mutation of syntax trees. 1ad1504.

The -fno-temp-file flag disables the creation of temporary files during compilation.d129aa1.

Concepts development work continues with the addition of support for constrained partial specializations and functions overloads. d3f5769.

A support patch was added that clears the way for property-based serialisation for "cased" types. efd0dfb, da74c4d, and more.

Deprecation warnings were added for expression forms marked deprecated in C++20. 4b00299.

The Clang static analyzer now features a checker for handle use in Fuchsia APIs. 82923c7.

Other project commits