[all-commits] [llvm/llvm-project] 6e9678: [AA] Cache (optionally) estimated PartialAlias off...

Daniil Fukalov via All-commits all-commits at lists.llvm.org
Tue Mar 2 08:04:47 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6e967834b9fa17ae5361651c15c969a9c7331eb2
      https://github.com/llvm/llvm-project/commit/6e967834b9fa17ae5361651c15c969a9c7331eb2
  Author: dfukalov <daniil.fukalov at amd.com>
  Date:   2021-03-02 (Tue, 02 Mar 2021)

  Changed paths:
    M llvm/include/llvm/Analysis/AliasAnalysis.h
    M llvm/lib/Analysis/AliasAnalysis.cpp
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/unittests/Analysis/AliasAnalysisTest.cpp

  Log Message:
  -----------
  [AA] Cache (optionally) estimated PartialAlias offsets.

For the cases of two clobbering loads and one loaded object is fully contained
in the second `BasicAAResult::aliasGEP` returns just `PartialAlias` that
is actually more common case of partial overlap, it doesn't say anything about
actual overlapping sizes.

AA users such as GVN and DSE have no functionality to estimate aliasing of GEPs
with non-constant offsets. The change stores estimated relative offsets so they
can be used further.

Reviewed By: nikic

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




More information about the All-commits mailing list