================
@@ -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

Reply via email to