[clang] [CIR] Implement folder for VecShuffleDynamicOp (PR #142315)
Henrich Lauko via cfe-commits
cfe-commits at lists.llvm.org
Mon Jun 2 13:34:44 PDT 2025
================
@@ -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
More information about the cfe-commits
mailing list