|
17 | 17 | #include "mlir/IR/AffineExpr.h" |
18 | 18 | #include "mlir/IR/Attributes.h" |
19 | 19 | #include "mlir/IR/BuiltinTypes.h" |
20 | | -#include "mlir/IR/Value.h" |
21 | 20 | #include "mlir/Interfaces/SideEffectInterfaces.h" |
22 | | -#include "mlir/Support/LLVM.h" |
23 | 21 | #include "mlir/Transforms/RegionUtils.h" |
24 | | -#include "llvm/ADT/DenseMap.h" |
25 | | -#include "llvm/ADT/STLExtras.h" |
26 | 22 | #include "llvm/ADT/SetVector.h" |
27 | 23 | #include "llvm/ADT/SmallVectorExtras.h" |
28 | 24 | #include "llvm/Support/FormatVariadic.h" |
@@ -1787,11 +1783,11 @@ struct WarpOpScfForOp : public WarpDistributionPattern { |
1787 | 1783 | // index and the corresponding new `WarpOp` yield value index (needed to |
1788 | 1784 | // update users later). |
1789 | 1785 | llvm::SmallDenseMap<unsigned, unsigned> nonForResultMapping; |
1790 | | - for (auto [i, v] : llvm::enumerate(nonForYieldedValues)) { |
1791 | | - nonForResultMapping[nonForResultIndices[i]] = newWarpOpYieldValues.size(); |
| 1786 | + for (auto [i, v] : |
| 1787 | + llvm::zip_equal(nonForResultIndices, nonForYieldedValues)) { |
| 1788 | + nonForResultMapping[i] = newWarpOpYieldValues.size(); |
1792 | 1789 | newWarpOpYieldValues.push_back(v); |
1793 | | - newWarpOpDistTypes.push_back( |
1794 | | - warpOp.getResult(nonForResultIndices[i]).getType()); |
| 1790 | + newWarpOpDistTypes.push_back(warpOp.getResult(i).getType()); |
1795 | 1791 | } |
1796 | 1792 | // Create the new `WarpOp` with the updated yield values and types. |
1797 | 1793 | WarpExecuteOnLane0Op newWarpOp = moveRegionToNewWarpOpAndReplaceReturns( |
|
0 commit comments