llvm-project
88accd9a - [mlir][ArmSME] Pattern to swap shape_cast(tranpose) with transpose(shape_cast) (#100731)

Commit
1 year ago
[mlir][ArmSME] Pattern to swap shape_cast(tranpose) with transpose(shape_cast) (#100731) This applies when the shape_cast is simply for dropping unit dims, and the result rank is >= 2. This simplifies the transpose making it possible for other ArmSME legalization patterns to handle it. Example: ```mlir %0 = vector.transpose %vector, [3, 0, 1, 2] : vector<1x1x4x[4]xf32> to vector<[4]x1x1x4xf32> %1 = vector.shape_cast %0 : vector<[4]x1x1x4xf32> to vector<[4]x4xf32> ``` ```mlir %0 = vector.shape_cast %arg0 : vector<1x1x4x[4]xf32> to vector<4x[4]xf32> %1 = vector.transpose %0, [1, 0] : vector<4x[4]xf32> to vector<[4]x4xf32> ```
Author
Parents
Loading