[Mlir-commits] [mlir] 5f7568a - [mlir][Transforms] Fix mapping in `findOrBuildReplacementValue` (#121644)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Sun Jan 5 23:55:21 PST 2025


Author: Matthias Springer
Date: 2025-01-06T08:55:18+01:00
New Revision: 5f7568a32c5572e10c8818192a985d7278a261e2

URL: https://github.com/llvm/llvm-project/commit/5f7568a32c5572e10c8818192a985d7278a261e2
DIFF: https://github.com/llvm/llvm-project/commit/5f7568a32c5572e10c8818192a985d7278a261e2.diff

LOG: [mlir][Transforms] Fix mapping in `findOrBuildReplacementValue` (#121644)

Fixes two minor issues in `findOrBuildReplacementValue`:
* Remove a redundant `mapping.map`.
* Map `repl` instead of `value`. We used to overwrite an existing
mapping, which could introduce extra materializations.

Note: We generally do not want to overwrite mappings, but create a chain
of mappings. There are still a few more places, where a mapping is
overwritten. Once those are fixed, I will put an assertion into
`ConversionValueMapping::map`.

Added: 
    

Modified: 
    mlir/lib/Transforms/Utils/DialectConversion.cpp

Removed: 
    


################################################################################
diff  --git a/mlir/lib/Transforms/Utils/DialectConversion.cpp b/mlir/lib/Transforms/Utils/DialectConversion.cpp
index 8296c0c468b017..403321d40d53c9 100644
--- a/mlir/lib/Transforms/Utils/DialectConversion.cpp
+++ b/mlir/lib/Transforms/Utils/DialectConversion.cpp
@@ -1489,11 +1489,10 @@ Value ConversionPatternRewriterImpl::findOrBuildReplacementValue(
   Value castValue =
       buildUnresolvedMaterialization(MaterializationKind::Source,
                                      computeInsertPoint(repl), value.getLoc(),
-                                     /*valuesToMap=*/{value}, /*inputs=*/repl,
+                                     /*valuesToMap=*/repl, /*inputs=*/repl,
                                      /*outputType=*/value.getType(),
                                      /*originalType=*/Type(), converter)
           .front();
-  mapping.map(value, castValue);
   return castValue;
 }
 


        


More information about the Mlir-commits mailing list