[all-commits] [llvm/llvm-project] b9c876: [mlir] Add initial support for an alias analysis f...

River Riddle via All-commits all-commits at lists.llvm.org
Tue Feb 9 14:26:16 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b9c876bd7e9aeb5ea629b60fc65805b67e6f89a2
      https://github.com/llvm/llvm-project/commit/b9c876bd7e9aeb5ea629b60fc65805b67e6f89a2
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2021-02-09 (Tue, 09 Feb 2021)

  Changed paths:
    A mlir/include/mlir/Analysis/AliasAnalysis.h
    A mlir/include/mlir/Analysis/AliasAnalysis/LocalAliasAnalysis.h
    M mlir/include/mlir/IR/OpDefinition.h
    M mlir/include/mlir/Interfaces/SideEffectInterfaceBase.td
    A mlir/lib/Analysis/AliasAnalysis.cpp
    A mlir/lib/Analysis/AliasAnalysis/LocalAliasAnalysis.cpp
    M mlir/lib/Analysis/CMakeLists.txt
    A mlir/test/Analysis/test-alias-analysis.mlir
    A mlir/test/lib/Analysis/CMakeLists.txt
    A mlir/test/lib/Analysis/TestAliasAnalysis.cpp
    M mlir/test/lib/CMakeLists.txt
    M mlir/tools/mlir-opt/CMakeLists.txt
    M mlir/tools/mlir-opt/mlir-opt.cpp

  Log Message:
  -----------
  [mlir] Add initial support for an alias analysis framework in MLIR

This revision adds a new `AliasAnalysis` class that represents the main alias analysis interface in MLIR. The purpose of this class is not to hold the aliasing logic itself, but to provide an interface into various different alias analysis implementations. As it evolves this should allow for users to plug in specialized alias analysis implementations for their own needs, and have them immediately usable by other analyses and transformations.

This revision also adds an initial simple generic alias, LocalAliasAnalysis, that provides support for performing stateless local alias queries between values. This class is similar in scope to LLVM's BasicAA.

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




More information about the All-commits mailing list