LLVM Weekly - #445, July 11th 2022

LLVM Weekly - #445, July 11th 2022

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

Welcome to the four hundred and forty-fifth 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 Bay area meetup is happening today, and if you’re in Cambridge, UK then you’ll want to attend the Cambridge LLVM social tomorrow (Tuesday) where I’ll be presenting on WebAssembly in LLVM.

MaskRay blogged about the implementation of RISC-V linker relaxation in LLD.

The call for presentations for the 2022 US LLVM Developers’ Meeting is now open. The conference will take place Nov 8-9 in San Jose, and submissions should be sent in by August 30th.

On the forums

LLVM commits

  • LoongArch gained codegen support for load/store operations, conditional branches, function calls, and more. 5b4851e, b940fe6, 3610d5f, c2d1d9f.

  • A minimal HTTP server was added to the debuginfod library and used to implement an initial LLVM debuginfod server. 8366e21, 36f0190.

  • An initial scheduling model for the Neoverse N2 was committed. 03af9ba.

  • Support was removed for the insertvalue and div/rem constant expression. 7283f48, 11950ef.

  • LoongArch support was added to update_llc_test_checks. 53d5ace.

  • Support for the RDPRU instruction (available on Zen2 processors) was added. 08e4fe6.

  • Support for fmax and fmin atomicrmw operations was added. 1023dda.

  • Tracking and deduplication of SPIR-V global entities was added. fa2a7a25.

  • A HasNoUse predicate for PatFrags was introduced. c42fe5b.

Clang commits

  • clang-format was disabled entirely for test directories. fee77a2.

  • Documentation was added on debugging C++ coroutines. 1934b3a.

  • __attribute__((format)) can now be used on non-variadic functions. 92edd74.

  • The -Warray-parameter warning was added. It warns about re-declarations of functions involving arguments of array or pointer types of inconsistent kinds or forms. cc5b772.

  • The new bugprone-assignment-in-if-condition clang-tidy checker will warn when there’s an assignment within an if statement condition expression. 05130a6.

Other project commits

  • LLD’s ELF linker implemented linker relaxation for R_RISCV_ALIGN, R_RISCV_CALL, and R_RISCV_CALL_PLT. 6611d58, 75e551e.

  • The MLIR language server now supports code completions. ed2fb17, 2e41ea3, fe4f512.

  • LLVM’s libc gained support for float to hexadeciaml through %a/%A. f9f8693.

  • std::ranges::merge, ::remove, ::set_difference, and more were implemented in libcxx. 25607d1, f8cbe3c, 1cdec6c, 23c7328, c945bd0.

  • The “op splitting” transform was implemented in MLIR. ff6e550.

  • Sparse and dense data-flow analysis was implemented in MLIR. 9432fbf, d80c271.

  • libomptarget was updated to follow the standard LLVM naming conventions. d27d0a6.