Skip to content

Commit 081884a

Browse files
committed
update cases
1 parent 3f6daa4 commit 081884a

File tree

1 file changed

+13
-5
lines changed

1 file changed

+13
-5
lines changed

mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -645,15 +645,23 @@ static bool isLinearizable(Operation *op) {
645645
// itself cannot be linearized (will create new shape_casts to linearize
646646
// ad infinitum).
647647
.Case<vector::ShapeCastOp>([&](auto) { return false; })
648-
// vector.extract_strided_slice, vector.extract, and vector.insert
649-
// operations are linearized to a rank-1 vector.shuffle by the current
650-
// patterns. vector.shuffle only supports fixed size vectors, so it is
651-
// impossible to use this approach to linearize these ops if they operate
652-
// on scalable vectors.
648+
// The operations
649+
// - vector.extract_strided_slice
650+
// - vector.extract
651+
// - vector.insert_strided_slice
652+
// - vector.insert
653+
// are linearized to a rank-1 vector.shuffle by the current patterns.
654+
// vector.shuffle only supports fixed size vectors, so it is impossible to
655+
// use this approach to linearize these ops if they operate on scalable
656+
// vectors.
653657
.Case<vector::ExtractStridedSliceOp>(
654658
[&](vector::ExtractStridedSliceOp extractOp) {
655659
return !extractOp.getType().isScalable();
656660
})
661+
.Case<vector::InsertStridedSliceOp>(
662+
[&](vector::InsertStridedSliceOp insertOp) {
663+
return !insertOp.getType().isScalable();
664+
})
657665
.Case<vector::InsertOp>([&](vector::InsertOp insertOp) {
658666
return !insertOp.getType().isScalable();
659667
})

0 commit comments

Comments
 (0)