Skip to content

Commit afc0b95

Browse files
committed
Extend polygeist subindex lowering to multidim memrefs
1 parent f7afb69 commit afc0b95

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

lib/polygeist/Passes/LowerPolygeistOps.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,11 @@ struct SubIndexToReinterpretCast
4646
rewriter.create<ConstantIndexOp>(op.getLoc(), innerSize));
4747

4848
llvm::SmallVector<OpFoldResult> sizes, strides;
49-
for (auto dim : shape.drop_front()) {
50-
sizes.push_back(rewriter.getIndexAttr(dim));
51-
strides.push_back(rewriter.getIndexAttr(1));
49+
int64_t strideAcc = 1;
50+
for (auto dim : llvm::reverse(shape.drop_front())) {
51+
sizes.insert(sizes.begin(), rewriter.getIndexAttr(dim));
52+
strides.insert(strides.begin(), rewriter.getIndexAttr(strideAcc));
53+
strideAcc *= dim;
5254
}
5355

5456
rewriter.replaceOpWithNewOp<memref::ReinterpretCastOp>(

0 commit comments

Comments
 (0)