[all-commits] [llvm/llvm-project] d462bf: [mlir][Transform] Extend transform.foreach to take...

Rolf Morel via All-commits all-commits at lists.llvm.org
Fri Jun 14 08:03:10 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d462bf687548a5630f60a8afaa66120df8319e88
      https://github.com/llvm/llvm-project/commit/d462bf687548a5630f60a8afaa66120df8319e88
  Author: Rolf Morel <rolf.morel at huawei.com>
  Date:   2024-06-14 (Fri, 14 Jun 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/test/Dialect/Linalg/multisize-tiling-full.mlir
    M mlir/test/Dialect/SCF/transform-loop-fuse-sibling.mlir
    M mlir/test/Dialect/Transform/ops-invalid.mlir
    M mlir/test/Dialect/Transform/ops.mlir
    M mlir/test/Dialect/Transform/test-interpreter.mlir

  Log Message:
  -----------
  [mlir][Transform] Extend transform.foreach to take multiple arguments (#93705)

Changes transform.foreach's interface to take multiple arguments, e.g.
transform.foreach %ops1, %ops2, %params : ... { ^bb0(%op1, %op2,
%param): BODY } The semantics are that the payloads for these handles
get iterated over as if the payloads have been zipped-up together - BODY
gets executed once for each such tuple. The documentation explains that
this implementation requires that the payloads have the same length.

This change also enables the target argument(s) to be any op/value/param
handle.

The added test cases demonstrate some use cases for this change.



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