[Mlir-commits] [mlir] [mlir][Transforms] Fix crash in `reconcile-unrealized-casts` (PR #158067)
Mehdi Amini
llvmlistbot at llvm.org
Thu Sep 11 06:47:08 PDT 2025
================
@@ -3306,9 +3306,13 @@ LogicalResult OperationConverter::convertOperations(ArrayRef<Operation *> ops) {
void mlir::reconcileUnrealizedCasts(
ArrayRef<UnrealizedConversionCastOp> castOps,
SmallVectorImpl<UnrealizedConversionCastOp> *remainingCastOps) {
+ // Set of all cast ops for faster lookups.
+ DenseSet<Operation *> castOpSet;
+ for (UnrealizedConversionCastOp op : castOps)
+ castOpSet.insert(op);
----------------
joker-eph wrote:
```suggestion
void mlir::reconcileUnrealizedCasts(
ArrayRef<UnrealizedConversionCastOp> castOps,
SmallVectorImpl<UnrealizedConversionCastOp> *remainingCastOps) {
// Set of all cast ops for faster lookups.
DenseSet<UnrealizedConversionCastOp> castOpSet;
for (UnrealizedConversionCastOp op : castOps)
castOpSet.insert(op);
reconcileUnrealizedCasts(castOpSet, remainingCastOps);
}
void mlir::reconcileUnrealizedCasts(
DenseSet<Operation *> &castOps,
SmallVectorImpl<UnrealizedConversionCastOp> *remainingCastOps) {
```
Just so that we encourage the user to possibly produce a DenseSet in the first place, skipping the intermediate vector.
https://github.com/llvm/llvm-project/pull/158067
More information about the Mlir-commits
mailing list