[all-commits] [llvm/llvm-project] 28d6aa: [mlir][bufferization] Unranked memref support for ...
ryankima via All-commits
all-commits at lists.llvm.org
Thu Jun 13 06:58:22 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 28d6aa90b085469e5b6355f8d739df733ebc4400
https://github.com/llvm/llvm-project/commit/28d6aa90b085469e5b6355f8d739df733ebc4400
Author: ryankima <ryankima at umich.edu>
Date: 2024-06-13 (Thu, 13 Jun 2024)
Changed paths:
M mlir/lib/Conversion/BufferizationToMemRef/BufferizationToMemRef.cpp
M mlir/test/Conversion/BufferizationToMemRef/bufferization-to-memref.mlir
Log Message:
-----------
[mlir][bufferization] Unranked memref support for clone (#94757)
bufferization.clone does not currently support lowering to memref for
unranked memrefs. This interferes with bufferizing unranked tensors at
boundaries where a clone operation is needed.
```
func.func @foo(%input: memref<*xf32>, %shape: memref<?xindex>) -> memref<*xf32>
{
%reshape = memref.reshape %input(%shape) : (memref<*xf32>, memref<?xindex>) -> memref<*xf32>
%copy = bufferization.clone %reshape : memref<*xf32> to memref<*xf32>
return %copy : memref<*xf32>
}
```
Patterns such as that are possibly when bufferizing functions with input
and output unranked tensors. The clone operation currently fails to
legalize during the bufferization-to-memref conversion with unranked
memrefs.
This change modifies the conversion of bufferization.clone to memref to
generate the runtime calculations and allocation to allow for cloning an
unranked memref.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list