[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