[all-commits] [llvm/llvm-project] bb3b82: [IR] "modular-format" attribute for functions usin...

Daniel Thornburgh via All-commits all-commits at lists.llvm.org
Fri Oct 17 14:23:57 PDT 2025


  Branch: refs/heads/users/mysterymath/modular-printf/ir
  Home:   https://github.com/llvm/llvm-project
  Commit: bb3b826b652c7bed83aa6c06d4af095dcb772592
      https://github.com/llvm/llvm-project/commit/bb3b826b652c7bed83aa6c06d4af095dcb772592
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-10-17 (Fri, 17 Oct 2025)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp

  Log Message:
  -----------
  [IR] "modular-format" attribute for functions using format strings

A new InstCombine transform uses this attribute to rewrite calls to a
modular version of the implementation along with llvm.reloc.none
relocations against aspects of the implementation needed by the call.

This change only adds support for the 'float' aspect, but it also builds
the structure needed for others.

See issue #146159


  Commit: 147dad154e235656c3cb3cd1e8552d5ca4d63050
      https://github.com/llvm/llvm-project/commit/147dad154e235656c3cb3cd1e8552d5ca4d63050
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-10-17 (Fri, 17 Oct 2025)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  issing -> issuing


  Commit: c0c98c277c5165b845c09eae4d136533127ac2b4
      https://github.com/llvm/llvm-project/commit/c0c98c277c5165b845c09eae4d136533127ac2b4
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-10-17 (Fri, 17 Oct 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp

  Log Message:
  -----------
  Emit reloc.none instinsic with metdata string arg


  Commit: 129b1a4ad4905179d898649fa82bbbbfae1bbcf2
      https://github.com/llvm/llvm-project/commit/129b1a4ad4905179d898649fa82bbbbfae1bbcf2
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-10-17 (Fri, 17 Oct 2025)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  Correct modular_format to modular-format in docs


  Commit: 9dae862346935dd74e91c46b4295854edaa1b8ac
      https://github.com/llvm/llvm-project/commit/9dae862346935dd74e91c46b4295854edaa1b8ac
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-10-17 (Fri, 17 Oct 2025)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  Describe the semantics of the arguments copied from C format attr


  Commit: 4f489c1ddc032594cd3b34f69e473acb01aec961
      https://github.com/llvm/llvm-project/commit/4f489c1ddc032594cd3b34f69e473acb01aec961
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-10-17 (Fri, 17 Oct 2025)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp

  Log Message:
  -----------
  Add a type arg


  Commit: 821f9a9c9f5c9e96768699e78ce4b541b4eb50fb
      https://github.com/llvm/llvm-project/commit/821f9a9c9f5c9e96768699e78ce4b541b4eb50fb
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-10-17 (Fri, 17 Oct 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp

  Log Message:
  -----------
  llvm.reloc.none takes a GlobalValue again

This avoids avoid modifying Module in ISel


  Commit: acaf9138641129737f1ad25f91f0bde84fe79d9e
      https://github.com/llvm/llvm-project/commit/acaf9138641129737f1ad25f91f0bde84fe79d9e
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-10-17 (Fri, 17 Oct 2025)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    A llvm/test/Transforms/InstCombine/modular-format.ll
    A llvm/test/Verifier/modular-format.ll

  Log Message:
  -----------
  Add test cases and polish change


  Commit: 7fbc2a9d7e81bf60ceea6d6eda28f6ac49f08215
      https://github.com/llvm/llvm-project/commit/7fbc2a9d7e81bf60ceea6d6eda28f6ac49f08215
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-10-17 (Fri, 17 Oct 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/modular-format.ll

  Log Message:
  -----------
  Don't transform calls unless some aspect is unneeded


  Commit: 74793db130fbab6f8a5031e31ff29c90f7f936f8
      https://github.com/llvm/llvm-project/commit/74793db130fbab6f8a5031e31ff29c90f7f936f8
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2025-10-17 (Fri, 17 Oct 2025)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/modular-format.ll

  Log Message:
  -----------
  Revert "llvm.reloc.none takes a GlobalValue again"

This reverts commit 4ac826513d3f564341d91bb9bc5cbf3a53770b57.


Compare: https://github.com/llvm/llvm-project/compare/42f749838d19...74793db130fb

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