[mlir][Linalg] Allow operand-less scf::ExecuteRegionOp to encapsulate scf::YieldOp
authorNicolas Vasilache <nicolas.vasilache@gmail.com>
Tue, 5 Oct 2021 10:06:50 +0000 (10:06 +0000)
committerNicolas Vasilache <nicolas.vasilache@gmail.com>
Tue, 5 Oct 2021 11:34:53 +0000 (11:34 +0000)
commitaf9dce18bfdb09ab1dd8b4c55979e67799a0b322
tree84f8886b69f2b33e72f3dafaf648ef82929a4745
parent1549be3e820f38f02484c5d990e12749d8121ba3
[mlir][Linalg] Allow operand-less scf::ExecuteRegionOp to encapsulate scf::YieldOp

These are considered noops.
Buferization will still fail on scf.execute_region which yield values.
This is used to make comprehensive bufferization interoperate better with external clients.

Differential Revision: https://reviews.llvm.org/D111130
mlir/lib/Dialect/Linalg/Transforms/ComprehensiveBufferize.cpp
mlir/test/Dialect/Linalg/comprehensive-module-bufferize-invalid.mlir
mlir/test/Dialect/Linalg/comprehensive-module-bufferize.mlir