[Mlir-commits] [mlir] [mlir][affine] Handle generic memory ops in loop fusion dependence analysis (PR #224657)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Mon Sep 28 01:19:40 PDT 2026


================

----------------
lipracer wrote:

The inner any_of over dstMemOps no longer depends on srcOp after this refactor — it's now loop-invariant. It can be hoisted out of the outer any_of:
```cpp
return llvm::any_of(srcMemOps, & (Operation *srcOp) { return mayAccessMemRef(srcOp, memref); }) &&
llvm::any_of(dstMemOps, & (Operation *dstOp) { return mayAccessMemRef(dstOp, memref); });
```
This also avoids re-scanning dstMemOps for every accessing srcOp (O(n·m) → O(n+m)), and reads more directly as "some source and some dest access memref".

https://github.com/llvm/llvm-project/pull/224657


More information about the Mlir-commits mailing list