diff --git a/mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp b/mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp --- a/mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp +++ b/mlir/lib/Dialect/SCF/Transforms/LoopSpecialization.cpp @@ -121,10 +121,10 @@ return failure(); auto loc = forOp.getLoc(); - AffineExpr dim0, dim1, dim2; - bindDims(b.getContext(), dim0, dim1, dim2); + AffineExpr sym0, sym1, sym2; + bindSymbols(b.getContext(), sym0, sym1, sym2); // New upper bound: %ub - (%ub - %lb) mod %step - auto modMap = AffineMap::get(3, 0, {dim1 - ((dim1 - dim0) % dim2)}); + auto modMap = AffineMap::get(0, 3, {sym1 - ((sym1 - sym0) % sym2)}); b.setInsertionPoint(forOp); splitBound = b.createOrFold( loc, modMap,