================ @@ -1597,9 +1598,9 @@ OpFoldResult cir::VecShuffleDynamicOp::fold(FoldAdaptor adaptor) { elements.reserve(numElements); const uint64_t maskBits = llvm::NextPowerOf2(numElements - 1) - 1; - for (uint64_t i = 0; i < numElements; i++) { - cir::IntAttr idxAttr = mlir::cast<cir::IntAttr>(indicesElts[i]); - uint64_t idxValue = idxAttr.getUInt(); + for (const mlir::APInt &idxAttr : + indicesElts.getAsValueRange<cir::IntAttr, mlir::APInt>()) { ---------------- xlauko wrote:
or maybe use just `getAsRange` ie.: ``` for (const auto &idxAttr : indicesElts.getAsRange<cir::IntAttr>()) { ``` and original `uint64_t idxValue = idxAttr.getUInt();` https://github.com/llvm/llvm-project/pull/142315 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits