[all-commits] [llvm/llvm-project] 34a88b: [MLIR][DLTI] Introduce DLTIQueryInterface and impl...

Rolf Morel via All-commits all-commits at lists.llvm.org
Tue Aug 20 03:22:53 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 34a88bbc34870e43fc00a9fc39f9267c844ac207
      https://github.com/llvm/llvm-project/commit/34a88bbc34870e43fc00a9fc39f9267c844ac207
  Author: Rolf Morel <rolf.morel at intel.com>
  Date:   2024-08-20 (Tue, 20 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/DLTI/DLTI.h
    M mlir/include/mlir/Dialect/DLTI/DLTIAttrs.td
    M mlir/include/mlir/Dialect/DLTI/DLTIBase.td
    M mlir/include/mlir/Dialect/DLTI/TransformOps/DLTITransformOps.td
    M mlir/include/mlir/Interfaces/DataLayoutInterfaces.h
    M mlir/include/mlir/Interfaces/DataLayoutInterfaces.td
    M mlir/lib/Dialect/DLTI/DLTI.cpp
    M mlir/lib/Dialect/DLTI/TransformOps/DLTITransformOps.cpp
    M mlir/test/Dialect/DLTI/invalid.mlir
    M mlir/test/Dialect/DLTI/query.mlir
    M mlir/test/Dialect/DLTI/valid.mlir
    M mlir/unittests/Interfaces/DataLayoutInterfacesTest.cpp

  Log Message:
  -----------
  [MLIR][DLTI] Introduce DLTIQueryInterface and impl for DLTI attrs (#104595)

This new interface is supposed to capture the core functionality of
DLTI: querying for values at keys. As such this new interface unifies
the ability to query DLTI attributes in a single method: query(). All
existing DLTI interfaces exposing their own query methods now 1) now
extend this new interface and 2) provide a default implementation for
`query()`.

As DLTIQueryInterface::query() returns an attribute, it naturally
enables recursive queries on nested DLTI attrs. A utility function,
`dlti::query()`, implements the logic for nested lookups.

A new `#dlti.map` attribute is introduced to capture the most generic
form of a finite DLTI-mapping. One of the benefits is that it allows for
more easily encoding hierachical information that is suitably queryable,
i.e. by means of nested attributes.

In line with the above, `transform.dlti.query` is modified so as to take
an arbitrary number of keys and to perform a nested lookup using the
above utility function.



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