LLVM Weekly - #422, January 31st 2022

LLVM Weekly - #422, January 31st 2022

If you prefer, you can read a HTML version of this email at http://llvmweekly.org/issue/422.

Welcome to the four hundred and twenty-second 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 LLVM blog has a new post about the LLVM security group and its 2021 security transparency report.

The video from the December Women in Compiler and Tools meetup is now available. Sangeeta Chowdhary delivered a talk on “Fast and Precise Approaches to Detect, Debug, and Repair Numerical Errors”.

Jason Ekstrand provided a retrospective on NIR, the compiler IR introduced into Mesa 7 years ago. The articles covers NIR vs LLVM IR (and LLVM as a project), key NIR design decisions, and more.

On the forums

LLVM commits

  • The minimum supported Visual Studio version for building LLVM is now VS2019. 058c5df.

  • MC layer support for the RISC-V scalar cryptography (Zk*) extensions was added. e29d8fb, 70f83f3.

  • The IROutliner can now outline indirect function calls. f5f377d.

  • The documentation on LLVM’s bug lifecycle was updated to reflect the move to GitHub issues. f3e2294.

  • Support for floating point operations was added to the CSKY backend. 4ad517e.

  • orderFrameObjects was implemented for SystemZ. f541a50.

  • The array waymarking algorithm implementation was removed as it is not currently used by anything in tree. f489e86.

Clang commits

  • Clang now uses DWARFv5 by default. d3b26de, 87e68ca.

  • As part of supporting the C2x _BitInt feature, the BITINT_MAXWIDTH macro is now defined, indicating the maximum width of a bit-precise integer type. 86797fd.

  • The readability-duplicate-include check was added to identify and remove duplicate includes. d2e8fb3.

  • Clang now matches GCC’s behaviour around alignment of non-POD (plain old data) members in packed structs. 2771233.

  • The readability-container-contains check was added, recommending replacement of container.count() and container.find() = container.end() with container.contains(). 3696c70e.

  • Additional documentation was added on developing clang-tidy checks. 8ce99da.

Other project commits

  • A ControlFlowSink pass was added to MLIR. 572fa96.

  • POSIX close, fsync, open, read, write, creat, and openat functions were added to LLVM’s libc. dc2b01b, 4abfe47.

  • A single byte coverage mode was added for instrumented profiling. This only tells you if a function has been covered or not, but offers very low binary size overhead (4.9% on an instrumented clang when combined with debug info correlation). 11d3074.

  • Preparatory work was committed for BOLT unit testing. 20e9d4c.

  • Flang can now lower a simple empty program to FIR. e1a1276.

  • LLD’s --compress-debug-sections=zlib is now parallelised. 4cdc441.

5 Likes

One late addition: the schedule for the FOSDEM LLVM devroom this coming Saturday 5th February is now available.

1 Like