[Mlir-commits] [mlir] [mlir][Transforms] Fix CSE memEffectsCache handling for existing entries (PR #192178)
llvmlistbot at llvm.org
llvmlistbot at llvm.org
Wed Apr 15 18:14:28 PDT 2026
================
@@ -194,29 +194,32 @@ bool CSEDriver::hasOtherSideEffectingOpInBetween(Operation *fromOp,
}
Operation *nextOp = fromOp->getNextNode();
- auto result =
- memEffectsCache.try_emplace(fromOp, std::make_pair(fromOp, nullptr));
- if (result.second) {
- auto memEffectsCachePair = result.first->second;
- if (memEffectsCachePair.second == nullptr) {
- // No MemoryEffects::Write has been detected until the cached operation.
- // Continue looking from the cached operation to toOp.
- nextOp = memEffectsCachePair.first;
- } else {
- // MemoryEffects::Write has been detected before so there is no need to
- // check further.
- return true;
- }
+
+ if (!memEffectsCache.contains(fromOp)) {
+ memEffectsCache.insert(
+ std::make_pair(fromOp, std::make_pair(fromOp, nullptr)));
}
+
+ auto &memEffectsCachePair = memEffectsCache[fromOp];
----------------
zackc6 wrote:
Thanks a lot for verification and elaboration :)
I updated accordingly and corresponding MR description, please check ~
https://github.com/llvm/llvm-project/pull/192178
More information about the Mlir-commits
mailing list