Skip to content

Commit e12b684

Browse files
Remove changedResults
1 parent 90f1a0e commit e12b684

File tree

1 file changed

+5
-16
lines changed

1 file changed

+5
-16
lines changed

mlir/lib/Transforms/Utils/DialectConversion.cpp

Lines changed: 5 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -624,10 +624,9 @@ class ModifyOperationRewrite : public OperationRewrite {
624624
class ReplaceOperationRewrite : public OperationRewrite {
625625
public:
626626
ReplaceOperationRewrite(ConversionPatternRewriterImpl &rewriterImpl,
627-
Operation *op, const TypeConverter *converter,
628-
bool changedResults)
627+
Operation *op, const TypeConverter *converter)
629628
: OperationRewrite(Kind::ReplaceOperation, rewriterImpl, op),
630-
converter(converter), changedResults(changedResults) {}
629+
converter(converter) {}
631630

632631
static bool classof(const IRRewrite *rewrite) {
633632
return rewrite->getKind() == Kind::ReplaceOperation;
@@ -641,15 +640,10 @@ class ReplaceOperationRewrite : public OperationRewrite {
641640

642641
const TypeConverter *getConverter() const { return converter; }
643642

644-
bool hasChangedResults() const { return changedResults; }
645-
646643
private:
647644
/// An optional type converter that can be used to materialize conversions
648645
/// between the new and old values if necessary.
649646
const TypeConverter *converter;
650-
651-
/// A boolean flag that indicates whether result types have changed or not.
652-
bool changedResults;
653647
};
654648

655649
class CreateOperationRewrite : public OperationRewrite {
@@ -941,6 +935,7 @@ struct ConversionPatternRewriterImpl : public RewriterBase::Listener {
941935
/// to modify/access them is invalid rewriter API usage.
942936
SetVector<Operation *> replacedOps;
943937

938+
/// A set of all unresolved materializations.
944939
DenseSet<Operation *> unresolvedMaterializations;
945940

946941
/// The current type converter, or nullptr if no type converter is currently
@@ -1383,17 +1378,13 @@ void ConversionPatternRewriterImpl::notifyOpReplaced(Operation *op,
13831378
assert(newValues.size() == op->getNumResults());
13841379
assert(!ignoredOps.contains(op) && "operation was already replaced");
13851380

1386-
// Track if any of the results changed, e.g. erased and replaced with null.
1387-
bool resultChanged = false;
1388-
13891381
// Create mappings for each of the new result values.
13901382
for (auto [newValue, result] : llvm::zip(newValues, op->getResults())) {
13911383
if (!newValue) {
13921384
// This result was dropped and no replacement value was provided.
13931385
if (unresolvedMaterializations.contains(op)) {
13941386
// Do not create another materializations if we are erasing a
13951387
// materialization.
1396-
resultChanged = true;
13971388
continue;
13981389
}
13991390

@@ -1406,11 +1397,9 @@ void ConversionPatternRewriterImpl::notifyOpReplaced(Operation *op,
14061397

14071398
// Remap, and check for any result type changes.
14081399
mapping.map(result, newValue);
1409-
resultChanged |= (newValue.getType() != result.getType());
14101400
}
14111401

1412-
appendRewrite<ReplaceOperationRewrite>(op, currentTypeConverter,
1413-
resultChanged);
1402+
appendRewrite<ReplaceOperationRewrite>(op, currentTypeConverter);
14141403

14151404
// Mark this operation and all nested ops as replaced.
14161405
op->walk([&](Operation *op) { replacedOps.insert(op); });
@@ -2585,7 +2574,7 @@ LogicalResult OperationConverter::legalizeConvertedOpResultTypes(
25852574
for (unsigned i = 0; i < rewriterImpl.rewrites.size(); ++i) {
25862575
auto *opReplacement =
25872576
dyn_cast<ReplaceOperationRewrite>(rewriterImpl.rewrites[i].get());
2588-
if (!opReplacement || !opReplacement->hasChangedResults())
2577+
if (!opReplacement)
25892578
continue;
25902579
Operation *op = opReplacement->getOperation();
25912580
for (OpResult result : op->getResults()) {

0 commit comments

Comments
 (0)