LLVM Weekly - #423, February 7th 2022

LLVM Weekly - #423, February 7th 2022

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

Welcome to the four hundred and twenty-third 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 call for papers for the LLVM Performance Workshop at CGO 2022 is now open. The deadline is March 1st, and the workshop will take place on April 3rd (both in person in Seoul and virtually).

On the forums

LLVM commits

  • A new tool, llvm-remark-size-diff, was introduced. It provides support for diffing size remarks (e.g. instruction count changes per function). ded733b.

  • New --filter and --filter-out options were added to the update_*_test_checks.py tools, allowing more focused tests to be written by selecting only a subset of the output. ecd46ed.

  • A RISCVRedundantCopyElimination pass was introduced, which will remove unneeded copies of X0. 1d8bbe3.

  • Processor definitions were committed for the Arm Cortex-X1C. 6b1e844.

  • GlobalISel and SelectionDAG-based codegen for the Armv8.8/9.3 memory operations extension was implemented. 78fd413, 5aa08bf.

  • The concept of ‘query abstract attributes’ was introduced. These are abstract attributes that allow lazy queries during their lifetime. b51b83f.

  • The AArch64 and ARM backends were cleaned up so getInstSizeInBytes uses instruction size defined in tablegen, rather than hard-coding pseudo-instruction length in the body of getInstSizeInBytes. dd88f40, 762f0b5.

  • New optimisation remarks were added regarding memory dependencies in the case that vectorisation fails. 778b455.

  • A new PPC pass was added to convert standard math library calls to IBM MASS library calls. 256d253.

  • New GitHub Actions were added to help automate cherry-picking and testing fixes for the release branch. daf82a5.

Clang commits

  • Initial code has started to land for the clang pseudo-parser, starting with a ‘Grammar’ class and the C++ grammar. 20e05b9, e1db505.

  • Documentation was added for the OpenMP offloading driver. 28ab594.

  • Documentation was added for the StdCLibraryFunctionArgs checker. 280b430.

  • A Clang linker wrapper tool was introduced, allowing files to be preprocessed before being sent to the linker. Support was added to it for linking NVPTX offloading code. 95c8f74, d074458.

Other project commits

  • The old OpenMP device runtime was moved. 034adaf.

  • SPARCv9 support was added to libunwind. 2b9554b.

  • Implementations of POSIX mkdir, mkdirat, rmdir, unlink, and unlinkat were added to LLVM’s libc. b838516.

  • LLDB memory usage was reduced by avoiding construction of demangled strings while indexing the symbol table. aed965d.