diff --git a/mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp b/mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp index ea5533dfc6bac..6e816dc0661a1 100644 --- a/mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp +++ b/mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp @@ -352,8 +352,7 @@ void LoopEmitter::initSubSectIterator(OpBuilder &builder, Location loc) { if (depRedOrder.empty()) continue; - std::sort(depRedOrder.begin(), depRedOrder.end(), - [](auto &l, auto &r) { return std::get<0>(l) < std::get<0>(r); }); + llvm::sort(depRedOrder, llvm::less_first()); SmallVector lastIter(tensors.size(), nullptr); for (auto [loop, t, lvl] : depRedOrder) {