[all-commits] [llvm/llvm-project] 32c6e1: [IR] Introduce `llvm.errno.tbaa` metadata for errn...

Antonio Frighetto via All-commits all-commits at lists.llvm.org
Wed Sep 24 07:00:44 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 32c6e162462bbca3beb2259b90cc922a7419ba2c
      https://github.com/llvm/llvm-project/commit/32c6e162462bbca3beb2259b90cc922a7419ba2c
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2025-09-24 (Wed, 24 Sep 2025)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/Verifier.h
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/IR/Verifier.cpp
    A llvm/test/Linker/Inputs/errno-tbaa-cxx-metadata.ll
    A llvm/test/Linker/Inputs/errno-tbaa-metadata.ll
    A llvm/test/Linker/link-errno-tbaa-metadata.ll
    A llvm/test/Verifier/errno-tbaa-metadata-1.ll
    A llvm/test/Verifier/errno-tbaa-metadata-2.ll

  Log Message:
  -----------
  [IR] Introduce `llvm.errno.tbaa` metadata for errno alias disambiguation

Add a new named module-level frontend-annotated metadata that
specifies the TBAA node for an integer access, for which, C/C++
`errno` accesses are guaranteed to use (under strict aliasing).
This should allow LLVM to prove the involved memory location/
accesses may not alias `errno`; thus, to perform optimizations
around errno-writing libcalls (store-to-load forwarding amongst
others).

Previous discussion: https://discourse.llvm.org/t/rfc-modelling-errno-memory-effects/82972.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list