[Mlir-commits] [mlir] [mlir] Made DefaultResource the root of memory resource hierarchy. (PR #187423)
Slava Zakharin
llvmlistbot at llvm.org
Mon Mar 23 09:50:05 PDT 2026
================
@@ -224,10 +224,18 @@ bool CSEDriver::hasOtherSideEffectingOpInBetween(Operation *fromOp,
if (isa<MemoryEffects::Write>(effect.getEffect())) {
// A write on a resource disjoint from all read resources cannot
// conflict with the reads being CSE'd.
- auto *writeResource = effect.getResource();
- bool canConflict = llvm::any_of(readResources, [&](auto *readResource) {
- return !writeResource->isDisjointFrom(readResource);
- });
+ SideEffects::Resource *writeResource = effect.getResource();
+ bool canConflict =
+ llvm::any_of(readEffects, [&](const auto &readEffect) {
+ SideEffects::Resource *readResource = readEffect.getResource();
+ if (writeResource->isDisjointFrom(readResource))
+ return false;
+ // A pointer-based access to an addressable resource cannot
+ // conflict with a non-addressable resource.
+ if (readEffect.getValue() && !writeResource->isAddressable())
----------------
vzakhari wrote:
Good catch! I am adding the code and a test. Thank you!
https://github.com/llvm/llvm-project/pull/187423
More information about the Mlir-commits
mailing list