[mlir][linalg] Retire Linalg's Vectorization Pattern
This revision retires the LinalgCodegenStrategy vectorization pattern. Please see the context: https://discourse.llvm.org/t/psa-retire-linalg-filter-based-patterns/63785. This revision improves the transform dialect's VectorizeOp in different ways below: - Adds LinalgDialect as a dependent dialect. When `transform.structured.vectorize` vectorizes `tensor.pad`, it generates `linalg.init_tensor`. In this case, linalg dialect must be registered. - Inserts CopyVectorizationPattern in order to vectorize `memref.copy`. - Creates two attributes: `disable_multi_reduction_to_contract_patterns` and `disable_transfer_permutation_map_lowering_patterns`. They are limiting the power of vectorization and are currently intended for testing purposes. It also removes some of the "CHECK: vector.transfer_write" in the vectorization.mlir test. They are redundant writes, at the end of the code there is a rewrite to the same place. Transform dialect no longer generates them. Depends on D133684 that retires the LinalgCodegenStrategy vectorization pass. Reviewed By: nicolasvasilache Differential Revision: https://reviews.llvm.org/D133699
Loading
Please sign in to comment