LLVM Weekly - #475, February 6th 2023

LLVM Weekly - #475, February 6th 2023

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

Welcome to the four hundred and seventy-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 and events

Graham Markall blogged about using RISC-V JIT on LLVM 14, including a link to a branch of LLVM 14 to fix encountered issues (since resolved in LLVM 15).

The next Berlin LLVM meetup will take place on 15th February. The next LLVM Bay Area meetup is taking place on Feb 27th.

According to the LLVM calendar in the coming week there will be:

  • Office hours with the following hosts: Paulo Matos, Tobias Grosser,
    Anastasia Stulova, Kristof Beyls, Johannes Doerfert, the BOLT maintainers.
  • Online sync-ups on the following topics: Flang, SYCL, MemorySSA, OpenMP, OpenMP in Flang, SPIR-V.
  • For more details see the LLVM calendar, getting involved documentation on online sync ups and office hours.

On the forums

LLVM commits

  • An AArch64GlobalsTagging pass was added, for use as part of -fsanitize=memtag-globals. 486729c.

  • A --version argument was added to the update_test_checks tools. This provides a mechanism for changing their default behaviour without causing excessive test churn. 5375b63.

  • Support for PLT based relocations was added to the ELF/i386 JITLink backend. cd9fd42.

  • A pass was added to count the number of times a function is visited, to help find pathological CGSCC cases. 4ce34bb.

  • NVPTXAliasAnalysis was implemented, which extends the default AA to take pointer address spaces into account. ca50be8.

  • Work to add support for DirectX pipeline state started to land. ad93908.

  • The PowerPC backend switched to by-name matching for instructions. 4b43ef3, 0be684e.

  • The RISC-V backend will now in many cases materialise floating point constants by materialising the integer pattern to a general purpose register and then moving it to a floating point register, rather than using the constant pool. d02b986.

Clang commits

  • The bugprone-unsafe-functions check was added to clang-tidy. f27c8ac.

  • The __attribute__(unsafe_buffer_usage)) attribute was added, to be used for function containing buffer operations that could cause out of bounds memory accesses. acc3cc6.

  • __builtin_nondeterministic_value(x) was added, returning a nondeterministic value of the same type as the provided argument. 450a461.

Other project commits

  • LLVM’s libc gained an implementation of acoshf and of floating point conversion in printf. 9b30f6b, 173d502.

  • <experimental/coroutine> was removed from libc++, as <coroutine> has been shipping since LLVM 14. 226c444.