[mlir][Transforms] Dialect Conversion: Do not overwrite mapping
diff --git a/mlir/lib/Transforms/Utils/DialectConversion.cpp b/mlir/lib/Transforms/Utils/DialectConversion.cpp
index 7de26d7..4cf9b84 100644
--- a/mlir/lib/Transforms/Utils/DialectConversion.cpp
+++ b/mlir/lib/Transforms/Utils/DialectConversion.cpp
@@ -144,6 +144,8 @@
template <typename OldVal, typename NewVal>
std::enable_if_t<IsValueVector<OldVal>::value && IsValueVector<NewVal>::value>
map(OldVal &&oldVal, NewVal &&newVal) {
+ assert(mapping.find(oldVal) == mapping.end() &&
+ "attempting to overwrite mapping");
LLVM_DEBUG({
ValueVector next(newVal);
while (true) {