LLVM Weekly - #314, Jan 6th 2020

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

The very first LLVM Weekly issue went out six years ago today, on Jan 6th 2014. Since then there's been a new issue every single Monday, with zero gaps. Thank you everyone for reading so far! I of course intend to keep it going through 2020 as well.

News and articles from around the web

The deadline for proposals for EuroLLVM 2020 is this Saturday 11th January. EuroLLVM will take place April 6th-7th in Paris.

The program for the LLVM dev room at FOSDEM 2020 has been published.

Corentin Jabot wrote up a detailed blog post on improving performance for large integer arrays in Clang.

The second LLVM social in Bangalore will take place on Saturday February 1st.

On the mailing lists

Mark de Wever kicked off an RFC thread on handling implementation limits in Clang, suggesting that implementation limits of the Clang compiler be centralised to allow them to be representated in generated headers and documentation.

Michael Kruse proposes a new loop optimisation framework. "The central idea is to use a modifiable loop tree - similar to LoopInfo - as the primary representation. LLVM-IR is converted to a loop tree, then optimized and finally LLVM-IR is generated again for subtrees that are considered profitable."

David Blaikie posted an RFC on reducing .o file size in DWARFv5, Using DW_AT_ranges can resuled in significant size savings for for .o, but can cause a very small increase for .dwo files.

Whitney T Tsang proposes changing LoopUnrollAndJamPass from a loop to a function pass.

LLVM commits

The pass registration mechanism used by Polly was generalised so it can be used by any third party tool. 24ab9b5.

The check for the disable-tail-calls attribute was hoisted from individual backends to the instruction selectors. 9c2b728.

The NoFPExcept SDNodeFlag now defaults to false. 6333679.

Zlib support is now disabled by default on Windows. a2ca1c2.

Clang commits

OpenMP 5.0 implementation continues with support for codegen of lastprivate conditional list items. a58da1a.

clang-tidy gained a utility function to add 'const' to variables. cf48101.

Other project commits