LLVM Weekly - #318, February 3rd 2020

Welcome to the three hundred and eighteenth 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 10.0.0-rc1 has been tagged.

The program for EuroLLVM 2020 is now online. The early bird registration rate is available through to Feb 27th.

Joel Laity wrote a piece about libc++'s implementation of std::string, and the optimisations it uses.

Martin Dørum wrote up how he modified Clang to trial a new C++ lambda syntax.

The HPVM (Heterogenous Parallel Virtual Machine) research project has announced its v0.5 release.

On the mailing lists

LLVM commits

llvm::StringRef to std::string conversions were made explicit throughout the codebase. adcd026, 777180a.

A ThinLTOJIT example was added. 234f3b1.

Optimization remarks are now generated for matrix expressions. 949294f.

MIPS GlobalISel can now select count leading zeros, count trailing zeros, and popcount. 2b66d32, 8bc7ba5, cbf03aee.

TableGen will now emit string literals instead of char arrays in most cases, to make its output more readable and debuggable. 482e890.

A new @llvm.memcpy.inline intrinsic was added. 879c825.

llvm-objcopy and llvm-symbolizer gained some initial support for wasm. a928d12, da6a896.

Documentation was added for the IR attribute "vector-function-abi-variant". 4bc07c3.

The Attributor framework gained a pointer privatization attribute. 89c2e73.

Clang commits

The -fsemantic-interposition flag was implemented, allowing for the interposition of a symbol by another at runtime and thus preventing a variety of inter-procedural optimisations. fd09f12.

It is now possible to limit the number of pre-processor tokens in a translation unit. 739b410.

The new -ibuiltininc flag lets the Darwin driver include Clang builtin headers even with -nostdinc . f96f64d.

Other project commits