From becc238f77ee2b95b5cdfc2d060fe6ff5b6e447d Mon Sep 17 00:00:00 2001 From: Matthias Springer Date: Mon, 1 Jul 2024 18:59:58 +0200 Subject: [PATCH] [mlir][docs] Fix mistakes in data flow analysis code example (#97286) --- mlir/docs/Tutorials/DataFlowAnalysis.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/mlir/docs/Tutorials/DataFlowAnalysis.md b/mlir/docs/Tutorials/DataFlowAnalysis.md index 8265eff8b6ec..ea7158fb7391 100644 --- a/mlir/docs/Tutorials/DataFlowAnalysis.md +++ b/mlir/docs/Tutorials/DataFlowAnalysis.md @@ -114,10 +114,10 @@ struct MetadataLatticeValue { // only keep information that is the same. This means that we only keep // facts that are true in both. MetadataLatticeValue result; - for (const auto &lhsIt : lhs) { + for (const auto &lhsIt : lhs.metadata) { // As noted above, we only merge if the values are the same. auto it = rhs.metadata.find(lhsIt.first); - if (it == rhs.metadata.end() || it->second != lhsIt.second) + if (it == rhs.metadata.end() || it.second != lhsIt.second) continue; result.insert(lhsIt); } @@ -129,10 +129,13 @@ struct MetadataLatticeValue { bool operator==(const MetadataLatticeValue &rhs) const { if (metadata.size() != rhs.metadata.size()) return false; - // Check that the 'rhs' contains the same metadata. - return llvm::all_of(metadata, [&](auto &it) { - return rhs.metadata.count(it.second); - }); + // Check that `rhs` contains the same metadata. + for (const auto &it : metadata) { + auto rhsIt = rhs.metadata.find(it.first); + if (rhsIt == rhs.metadata.end() || it.second != rhsIt.second) + return false; + } + return true; } /// Our value represents the combined metadata, which is originally a