[all-commits] [llvm/llvm-project] 97dfa5: [FunctionAttrs] Infer precise FMRB

Nikita Popov via All-commits all-commits at lists.llvm.org
Tue Sep 27 01:15:38 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 97dfa536260c434e68913129d79d863b26c1c179
      https://github.com/llvm/llvm-project/commit/97dfa536260c434e68913129d79d863b26c1c179
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2022-09-27 (Tue, 27 Sep 2022)

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

  Log Message:
  -----------
  [FunctionAttrs] Infer precise FMRB

This updates checkFunctionMemoryAccess() to infer a precise
FunctionModRefBehavior, rather than an approximation split into
read/write and argmemonly.

Afterwards, we still map this back to imprecise function attributes.
This still allows us to infer some cases that we previously did not
handle, namely inaccessiblememonly and inaccessiblemem_or_argmemonly.
In practice, this means we get better memory attributes in the
presence of intrinsics like @llvm.assume.

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




More information about the All-commits mailing list