[Mlir-commits] [mlir] [MLIR][SCF] Handle commuted indices in parallel loop fusion (PR #219665)
purnima shrivastava
llvmlistbot at llvm.org
Mon Aug 31 02:35:51 PDT 2026
purnima-nlp wrote:
@alepot55
auto checkCommutativeEquivalent = [&](ValueRange lhs,
ValueRange rhs) -> LogicalResult {
if (lhs.size() != rhs.size())
return failure();
// Preserve pairwise comparison for non-binary commutative operations.
if (lhs.size() != 2)
return success(llvm::all_of(
llvm::zip_equal(lhs, rhs), [&](auto values) {
return valsAreEquivalent(std::get<0>(values),
std::get<1>(values), loopsIVsMap);
}));
if (valsAreEquivalent(lhs[0], rhs[0], loopsIVsMap) &&
valsAreEquivalent(lhs[1], rhs[1], loopsIVsMap))
return success();
return success(valsAreEquivalent(lhs[0], rhs[1], loopsIVsMap) &&
valsAreEquivalent(lhs[1], rhs[0], loopsIVsMap));
};
Is this cool?
https://github.com/llvm/llvm-project/pull/219665
More information about the Mlir-commits
mailing list