diff --git a/mlir/lib/Transforms/Utils/DialectConversion.cpp b/mlir/lib/Transforms/Utils/DialectConversion.cpp index 403321d40d53c..30b346760e792 100644 --- a/mlir/lib/Transforms/Utils/DialectConversion.cpp +++ b/mlir/lib/Transforms/Utils/DialectConversion.cpp @@ -209,8 +209,11 @@ ConversionValueMapping::lookupOrDefault(Value from, } } if (next != current) { - // If at least one value was replaced, continue the lookup from there. current = std::move(next); + // Special case 1; return the most recently mapped values. + if (desiredTypes.empty()) + break; + // If at least one value was replaced, continue the lookup from there. continue; }