LLVM Weekly - #328, Apr 13th 2020

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

I didn't spot any particular LLVM-related news or blog posts this week. As always, I welcome people emailing me tips on things to include.

On the mailing lists

LLVM commits

Initial fusion for load/multiple/store chains of matrix operations was committed and an option was added to use row-major matrix layout as default. d1fed70, 39f2d9a.

MC layer support for the proposed RISC-V bit manipulation extension was added. Target features are prefixed with "experimental-" as the extension is not yet finalised. fae40bd.

Sparse conditional constant propagation (SCCP) was improved to make use of ranges for predicate info conditions. 6aabb10.

The CFGPrinter gained heat coloring based on the relative 'hotness' of each basic block. 8b67853.

LLVM now tries to use a single enum internally to represent FP rounding mode. c7ff5b3.

-debugify-and-strip-all was added to add debug info before a pass and remove it after, making it easier to test for cases where debug info affects codegen. f71350f.

Clang commits

In order to respect -fno-unroll-loops with LTO, Clang will now add llvm.loop.unroll.disable metadata when that option is enabled. 338be9c.

A new clang-tidy check was added, llvmlibc-implementation-in-namespace, which will ensure all llvm-libc implementations fall within the __llvm_libc namespace. 00a5755.

Codegen was implemented for the OpenMP 5.0 iterator constructor. be99c61.

A new -fsanitize-coverage=inline=bool-flag option was added. ced398f.

The RISC-V driver now learned to recognise experimental unratified extensions. As agreed via RFC on the mailing list, such extensions can only be enabled with the use of an explicit version number and the use of the -menable-experimental-extensions flag. dd1ee6d.

Other project commits