[all-commits] [llvm/llvm-project] ab25ea: [AA] Model operand bundles more precisely

Nikita Popov via All-commits all-commits at lists.llvm.org
Thu Sep 22 02:15:42 PDT 2022


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

  Changed paths:
    M llvm/lib/Analysis/AliasAnalysis.cpp
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/test/Feature/OperandBundles/basic-aa-argmemonly.ll

  Log Message:
  -----------
  [AA] Model operand bundles more precisely

Based on D130896, we can model operand bundles more precisely. In
addition to the baseline ModRefBehavior, a reading/clobbering operand
bundle may also read/write all locations. For example, a memcpy with
deopt bundle can read any memory, but only write argument memory.

This means that getModRefInfo() for memcpy with a pointer that does
not alias the arguments results in Ref, rather than ModRef, without
the need to implement any special handling.

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




More information about the All-commits mailing list