[all-commits] [llvm/llvm-project] 2b8f88: [mlir][Ptr] Add the `MemorySpaceAttrInterface` int...

Fabian Mora via All-commits all-commits at lists.llvm.org
Wed Mar 19 07:55:46 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2b8f887915020431112c35397368edd34b313f9a
      https://github.com/llvm/llvm-project/commit/2b8f887915020431112c35397368edd34b313f9a
  Author: Fabian Mora <fmora.dev at gmail.com>
  Date:   2025-03-19 (Wed, 19 Mar 2025)

  Changed paths:
    M mlir/include/mlir/Dialect/Ptr/IR/CMakeLists.txt
    A mlir/include/mlir/Dialect/Ptr/IR/MemorySpaceInterfaces.h
    A mlir/include/mlir/Dialect/Ptr/IR/MemorySpaceInterfaces.td
    M mlir/include/mlir/Dialect/Ptr/IR/PtrAttrs.h
    M mlir/include/mlir/Dialect/Ptr/IR/PtrDialect.td
    A mlir/include/mlir/Dialect/Ptr/IR/PtrEnums.td
    M mlir/include/mlir/Dialect/Ptr/IR/PtrOps.td
    M mlir/include/mlir/Dialect/Ptr/IR/PtrTypes.h
    M mlir/lib/Dialect/Ptr/IR/CMakeLists.txt
    M mlir/lib/Dialect/Ptr/IR/PtrDialect.cpp
    M mlir/lib/Dialect/Ptr/IR/PtrTypes.cpp
    M mlir/test/Dialect/Ptr/layout.mlir
    M mlir/test/Dialect/Ptr/types.mlir
    M mlir/test/lib/Dialect/Test/CMakeLists.txt
    M mlir/test/lib/Dialect/Test/TestAttrDefs.td
    M mlir/test/lib/Dialect/Test/TestAttributes.cpp
    M mlir/test/lib/Dialect/Test/TestAttributes.h

  Log Message:
  -----------
  [mlir][Ptr] Add the `MemorySpaceAttrInterface` interface and dependencies. (#86870)

This patch introduces the `MemorySpaceAttrInterface` interface. This
interface is responsible for handling the semantics of `ptr` operations.

For example, this interface can be used to create read-only memory
spaces, making any other operation other than a load a verification
error, see `TestConstMemorySpaceAttr` for a possible implementation of
this concept.

This patch also introduces Enum dependencies `AtomicOrdering`, and
`AtomicBinOp`, both enumerations are clones of the Enums with the same
name in the LLVM Dialect.

Also, see:
- [[RFC] `ptr` dialect & modularizing ptr ops in the LLVM
dialect](https://discourse.llvm.org/t/rfc-ptr-dialect-modularizing-ptr-ops-in-the-llvm-dialect/75142)
for rationale.
- https://github.com/llvm/llvm-project/pull/73057 for a prototype
implementation of the full change.

**Note: Ignore the first commit, that's being reviewed in
https://github.com/llvm/llvm-project/pull/86860 .**



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list