[mlir] Add SubViewOp::getOrCreateRanges and fix folding pattern
The existing implementation of SubViewOp::getRanges relies on all offsets/sizes/strides to be dynamic values and does not work in combination with canonicalization. This revision adds a SubViewOp::getOrCreateRanges to create the missing constants in the canonicalized case. This allows reactivating the fused pass with staged pattern applications. However another issue surfaces that the SubViewOp verifier is now too strict to allow folding. The existing folding pattern is turned into a canonicalization pattern which rewrites memref_cast + subview into subview + memref_cast. The transform-patterns-matmul-to-vector can then be reactivated. Differential Revision: https://reviews.llvm.org/D79759
Loading
Please register or sign in to comment