tensor.insert and tensor.insert_slice (as destination style ops) do no longer need to implement the entire BufferizableOpInterface.
Depends On D136346
| Paths 
 |  Differential  D136347  
[mlir][bufferize] Provide default BufferizableOpInterface impl for destination style ops ClosedPublic Authored by springerm on Oct 20 2022, 6:02 AM. 
Details Summary tensor.insert and tensor.insert_slice (as destination style ops) do no longer need to implement the entire BufferizableOpInterface. Depends On D136346 
Diff Detail 
 Event Timeline
 
 
 
 
 springerm marked an inline comment as done.Comment Actions address comments 
 This revision is now accepted and ready to land.Oct 25 2022, 1:11 AM This revision was landed with ongoing or failed builds.Oct 27 2022, 1:53 AM Closed by commit rG2d5edc644d62: [mlir][bufferize] Provide default BufferizableOpInterface impl for destination… (authored by springerm).  ·  Explain Why This revision was automatically updated to reflect the committed changes. 
Revision Contents 
Diff 471072 mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.td
 mlir/include/mlir/Dialect/Bufferization/IR/DstBufferizableOpInterfaceImpl.h
 
 mlir/lib/Dialect/Bufferization/IR/CMakeLists.txt
 mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
 utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
why is it included in the default implementation of bufferization interface? Shouldn't it be outside of default implementation for bufferization interface. Otherwise, continuing this logic, I could also check here if (auto pad = dyn_cast<PadOp>(..)) and then write code for PadOp bufferization here.