Dinistro wrote: > The final `OneShotConversionPatternRewriter` will support everything that > `ConversionPatternRewriter` supports. A few helper functions are still > missing in this PR: > > * `applySignatureConversion` > * `convertRegionTypes` > * `convertNonEntryRegionTypes` > * `replaceUsesOfBlockArgument` (removed by [[mlir][Transforms] Support > `replaceAllUsesWith` in dialect conversionĀ > #84725](https://github.com/llvm/llvm-project/pull/84725)) > > These functions would have to become virtual, so that they can be overridden > in `OneShotConversionPatternRewriter`.
I was mainly referring to the rollback logic. A pattern using the super class might assume rollback, which then breaks when it uses the specialised class. This violates the liskov substitution principle, which might be considered problematic. I understand that we might deliberately do so, to ensure a smooth transition to the new infra, without requiring substantial changes. I just fear that we will never be able to remove the inheritance if we build this in now. https://github.com/llvm/llvm-project/pull/93412 _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits