[ADT][mlir][NFCI] Do not use non-const lvalue-refs with enumerate
Replace references to enumerate results with either result_pairs (reference wrapper type) or structured bindings. I did not use structured bindings everywhere as it wasn't clear to me it would improve readability. This is in preparation to the switch to zip semantics which won't support non-const lvalue reference to elements: https://reviews.llvm.org/D144503. I chose to use values instead of const lvalue-refs because MLIR is biased towards avoiding `const` local variables. This won't degrade performance because currently `result_pair` is cheap to copy (size_t + iterator), and in the future, the enumerator iterator dereference will return temporaries anyway. Reviewed By: dblaikie Differential Revision: https://reviews.llvm.org/D146006
This commit is contained in:
@@ -377,9 +377,9 @@ public:
|
||||
ArrayRef<int64_t> dstShape = dstTp.getShape();
|
||||
genReshapeDstShape(loc, rewriter, dstSizes, srcSizes, dstShape,
|
||||
op.getReassociationIndices());
|
||||
for (auto &d : llvm::enumerate(dstShape)) {
|
||||
if (d.value() == ShapedType::kDynamic)
|
||||
dstDynSizes.push_back(dstSizes[d.index()]);
|
||||
for (auto [idx, shape] : llvm::enumerate(dstShape)) {
|
||||
if (shape == ShapedType::kDynamic)
|
||||
dstDynSizes.push_back(dstSizes[idx]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user