LLVM Weekly - #311, December 16th 2019

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

All videos from the 2019 LLVM Developers' Meeting are now posted and available in a handy YouTube playlist.

LLVM 9.0.1-rc3 has been tagged.

On the mailing lists

LLVM commits

Initial matrix intrinsics and a lowering pass were added. 526244b.

Initial work related to profile guided size opimization was committed. This adds instrumentation, but doesn't yet enable size optimisation. d9ae493.

Support for a Vector Function Database was merged. 0be8196.

The Arm cost model now understands cases where a shift can be folded into other instructions. be7a107.

New tests were added for resolving of RISC-V relocations. 707e970.

Dead loop update instructions are now removed from Arm low overhead loops. d97cf1f.

getIntImmCost was renamed to getIntImmCostInst and getIntImmCostIntrin. 85ba5f6.

Target-specific intrinsic enums were split into separate headers. This saves 222MB of object file size in a Windows optimised+debug build. 5d98695.

Clang commits

A new TableGen backend was added for generating serialisation classes. 6404bd2, d505e57..

Clang support was added for constrained FP builtins. 6515c52.

Clang now defaults to -fuse-init-array , using -fno-use-init-array only for platforms known not to support .init_array . b2b5cac.

Clang learned to synthesise defaulted comparison functions for C++20. cafc741.

Other project commits