[Mlir-commits] [mlir] [MLIR] VectorEmulateNarrowType to support loading of unaligned vectors (PR #113411)
Diego Caballero
llvmlistbot at llvm.org
Tue Oct 29 16:07:10 PDT 2024
================
@@ -42,9 +43,14 @@ bool isStaticShapeAndContiguousRowMajor(MemRefType type);
/// index to use in the linearized `memref`. The linearized index
/// is also scaled down by `dstBits`/`srcBits`. If `indices` is not provided
/// 0, is returned for the linearized index.
+/// - If the size of the load/store is smaller than the linearized memref
+/// load/store, the memory region emulated is larger than the actual memory
+/// region needed. `intraVectorOffset` returns the element offset of the data
+/// relevant at the beginning.
struct LinearizedMemRefInfo {
OpFoldResult linearizedOffset;
OpFoldResult linearizedSize;
+ OpFoldResult intraVectorOffset;
----------------
dcaballe wrote:
It's unclear to me what "Vector" means here in the context of a memref. Also good to be explicit about the padding location. Perhaps something like `prefixMemoryOffset`, `alignmentOffset` or similar...
https://github.com/llvm/llvm-project/pull/113411
More information about the Mlir-commits
mailing list