[all-commits] [llvm/llvm-project] 86f3dc: [FunctionAttrs] Consider recursive argmem effects ...

Nikita Popov via All-commits all-commits at lists.llvm.org
Mon Aug 14 05:40:11 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 86f3dc83e1ee12869cac7c10730d8ab9178c3aae
      https://github.com/llvm/llvm-project/commit/86f3dc83e1ee12869cac7c10730d8ab9178c3aae
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-08-14 (Mon, 14 Aug 2023)

  Changed paths:
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/test/Transforms/FunctionAttrs/argmemonly.ll

  Log Message:
  -----------
  [FunctionAttrs] Consider recursive argmem effects (PR63936)

When inspecting the function body, we can't simply ignore effects
of functions in the SCC entirely, because an argmem access of a
recursive call might result in an access to another location in
the callee.

Fix this by separately tracking memory effects that would occur if
the SCC accesses argmem, and then later add those.

Fixes https://github.com/llvm/llvm-project/issues/63936.

Differential Revision: https://reviews.llvm.org/D155956




More information about the All-commits mailing list