LLVM Weekly - #329, Apr 20th 2020

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

The 2020 US LLVM Developers' Meeting has been announced for September 28-29 in San Jose. "Given the current situation regarding COVID-19, we feel it is best to be totally transparent with our planning process. We are closely monitoring the news regarding restrictions on travel and large gatherings and also following the World Health Organization's advice. It takes about 9-12 months of planning for our developers’ meetings and given we do not know the situation in September, we are moving forward with the hope that it will be safe to host our event."

Nick Desaulniers has written up "Off by Two", a programming 'war story' about investigating a bug when building the Linux kernel with Clang.

Emmanuel Roche has written up a four-part blog series on building a JIT C++ compiler with LLVM on Windows 10: part 1, part 2, part 3, part 4.

Version 3.0.0 of Microsoft's implementation of the C++ Core Guidelines Support Library (GSL) has been released.

On the mailing lists

LLVM commits

Waymarking is no longer used to find the User from a Use instance. This slightly improves compile time performance for a small cost in peak memory use. ff9379f.

A lost debug locations verifier was added for GlobalISel. d9085f6.

All additional STLExtras helpers from MLIR have now been moved into LLVM. 8cbe371, 204c3b55, 2f21a57.

When passing --show-suites to lit it will now print availability substitutions as well as available features. dd3feec.

An llvm::is_sorted wrapper was introduced. 1647ff6.

A new fix-irreducible pass was introduced, which will convert an irreducible strongly connected component to a natural loop. 8c11bc0.

Clang commits

Arbitrary (non-power-of-two) width integers are now supported with the _ExtInt(N) language extension. 61ba148.

Builtins were added for contiguous loads/stores with SVE. 17a68c6.

Clang now supports AST files larger than 512M. a7afb21.

Other project commits