@@ -180,9 +180,9 @@ static void adjustStridesForPermutation(AffineMap permMap,
180180 strides = applyPermutation (strides, perms64);
181181}
182182
183- // Computes memory strides for vector transfer operations, handling both
184- // static and dynamic memrefs while applying permutation transformations
185- // for XeGPU lowering.
183+ // Computes memory strides and a memref offset for vector transfer operations,
184+ // handling both static and dynamic memrefs while applying permutation
185+ // transformations for XeGPU lowering.
186186static std::pair<SmallVector<Value>, Value>
187187computeMemrefMeta (VectorTransferOpInterface xferOp, PatternRewriter &rewriter) {
188188 SmallVector<Value> strides;
@@ -264,7 +264,7 @@ computeMemrefMeta(VectorTransferOpInterface xferOp, PatternRewriter &rewriter) {
264264// %23 = arith.add %20, %21
265265// %local_offsets = arith.add %22, %23
266266// %orig_offset = %block_id_y * 4x2x6x32 // consider using affine map
267- // %offsets = orig_offset + local_offsets
267+ // %offsets = memref_offset + orig_offset + local_offsets
268268static Value computeOffsets (VectorTransferOpInterface xferOp,
269269 PatternRewriter &rewriter, ArrayRef<Value> strides,
270270 Value baseOffset) {
@@ -339,7 +339,7 @@ static Value computeOffsets(VectorTransferOpInterface xferOp,
339339 return localOffsets;
340340}
341341
342- // Collapse memref shape to 1D
342+ // Convert memref to i64 base pointer
343343static Value memrefToIndexPtr (VectorTransferOpInterface xferOp,
344344 PatternRewriter &rewriter) {
345345 Location loc = xferOp.getLoc ();
0 commit comments