diff --git a/mlir/lib/Transforms/Utils/DialectConversion.cpp b/mlir/lib/Transforms/Utils/DialectConversion.cpp index 403321d40d53c..83d66dbe342d3 100644 --- a/mlir/lib/Transforms/Utils/DialectConversion.cpp +++ b/mlir/lib/Transforms/Utils/DialectConversion.cpp @@ -201,8 +201,9 @@ ConversionValueMapping::lookupOrDefault(Value from, // If possible, Replace each value with (one or multiple) mapped values. ValueVector next; for (Value v : current) { - auto it = mapping.find({v}); - if (it != mapping.end()) { + ValueVector vv{v}; + auto it = mapping.find(vv); + if (it != mapping.end() && it->first != vv) { llvm::append_range(next, it->second); } else { next.push_back(v);