[all-commits] [llvm/llvm-project] edfefd: [mlir][llvm] Add AliasAnalysis and AccessGroup int...

Tobias Gysi via All-commits all-commits at lists.llvm.org
Wed Mar 1 00:28:23 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: edfefd7fc50b995c4dfd81d5f9db53c1a9e11580
      https://github.com/llvm/llvm-project/commit/edfefd7fc50b995c4dfd81d5f9db53c1a9e11580
  Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
  Date:   2023-03-01 (Wed, 01 Mar 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h
    A mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
    M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    A mlir/lib/Dialect/LLVMIR/IR/LLVMInterfaces.cpp
    M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMIRToLLVMTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Target/LLVMIR/Import/metadata-alias-scopes.ll
    M mlir/test/Target/LLVMIR/Import/metadata-loop.ll
    M mlir/test/Target/LLVMIR/Import/metadata-tbaa.ll
    M mlir/test/Target/LLVMIR/llvmir.mlir
    M mlir/test/Target/LLVMIR/loop-metadata.mlir
    M mlir/test/Target/LLVMIR/tbaa.mlir

  Log Message:
  -----------
  [mlir][llvm] Add AliasAnalysis and AccessGroup interfaces.

The revision introduces two interfaces that provide access to
the alias analysis and access group metadata attributes. The
AliasAnalysis interface combines all alias analysis related
attributes (alias, noalias, and tbaa) similar to LLVM's getAAMetadata
method, while the AccessGroup interface is dedicated to the
access group metadata.

Previously, only the load and store operations supported alias analysis
and access group metadata. This revision extends this support to the
atomic operations. A follow up revision will also add support for the
memcopy, memset, and memove intrinsics. The interfaces then provide
convenient access to the metadata attributes and eliminate the need
of TypeSwitch or string based attribute access.

The revision still relies on string based attribute access for
the translation to LLVM IR (except for tbaa metadata). Only once
the the memory access intrinsics also implement the new interfaces,
the translation to LLVM IR can be fully switched to use interface
based attribute accesses.

Depends on D144875

Reviewed By: ftynse

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




More information about the All-commits mailing list