diff options
Diffstat (limited to 'mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp')
| -rw-r--r-- | mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp b/mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp index 74d4b7636315..f715c543eb17 100644 --- a/mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp +++ b/mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp @@ -206,6 +206,10 @@ void TransferOptimization::storeToLoadForwarding(vector::TransferReadOp read) { users.append(subView->getUsers().begin(), subView->getUsers().end()); continue; } + if (auto collapsed = dyn_cast<memref::CollapseShapeOp>(user)) { + users.append(collapsed->getUsers().begin(), collapsed->getUsers().end()); + continue; + } if (isMemoryEffectFree(user) || isa<vector::TransferReadOp>(user)) continue; if (auto write = dyn_cast<vector::TransferWriteOp>(user)) { |
