[all-commits] [llvm/llvm-project] 95f495: [mlir][transform] add a check for nested consumpti...

ftynse via All-commits all-commits at lists.llvm.org
Fri Jun 9 03:44:38 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 95f495c7b3a6bc2ed47bb6f9977256ec0f841e52
      https://github.com/llvm/llvm-project/commit/95f495c7b3a6bc2ed47bb6f9977256ec0f841e52
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2023-06-09 (Fri, 09 Jun 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/Transform/IR/TransformInterfaces.h
    M mlir/lib/Dialect/Transform/IR/TransformInterfaces.cpp
    A mlir/test/Dialect/Transform/apply-foreach-nested.mlir
    M mlir/test/lib/Dialect/Transform/TestTransformDialectExtension.td

  Log Message:
  -----------
  [mlir][transform] add a check for nested consumption in ApplyEachOpTrait

ApplyEachOpTrait applies to payload ops associated with its operand
handle one-by-one in order. If a handle is consumed, this usually
indicates that the associated payload ops are erased or rewritten. Add a
check that we don't consume an ancestor payload operation before
consuming its descendant, as the latter is likely to be a dangling
pointer. Transform operations for which this is a legitimate behavior
(i.e., they consume the handle but don't actually erase or rewrite the
payload operation) should implement the interface directly and allow for
repeated handles.

Reviewed By: springerm

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




More information about the All-commits mailing list