tree a5032abc5ce63e60d32e93ca47c8c3f499d2e95e
parent 99696b35bc8a0054e0b0c1a26e8dd5049fa8c41b
author Rafael Ubal <rubal@mathworks.com> 1723821048 -0400
committer GitHub <noreply@github.com> 1723821048 -0400
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmv2v4CRC1aQ7uu5UhlAAAGkwQAH9CF/BQuvMjRpgxR3/NLkQc
 6KrSREzc0CCrAmIed/Ae8RGJQVdtqcX7qdrzIlW0qsSaA1AankC9jMkXuJHgvlkF
 9uiGJF1PJS13DegbrfNJDYd3S7Aty18qrQdmS8sY4TpASjYrAaAkDCv2DhPi7fpi
 rHqBBJs2j3EuMQypt2q3E+zYFmK+LnUzZE4A86JtyN6j/EUcb/sFWpCY8O5481PM
 fME5d5RQS/MZN9r6w+Qb7RbVDyUbIg0k5APayPSmSPjDf/69ktA65Fkl9Pgx2sOt
 vF6t4QY0LMqovZvBM5UO6cFQP8aW7fGQ3ENwmDsi42RHCwJ7N7cpAdSDvVIr1vh0
 Kd70/mPG3m5zbWm/qVTDkvXG4tREwwEAf9lLEDpsgcqOgvSQhIIZkWWC/zwTnIA4
 ABGPJQGx1DttqzRau4UCrXq5Fu2OLvYx7zqipMowFVnkcMrX/zELQSG18fvjO689
 SNv5ZbcWRwEFnTbb1AXSP/ozx7c+q/nH5aomI2sSZezmonUUyPKwp/Hcq+NDR4C1
 GkVxMqwg2bZBcpWjNdk3wxhSIZb0b5ma89g0wxH+rz/NRU4CgVx55BkVRPByrx10
 z2SauIRe4EXkiZlnup2vNcURaKJ8nSQ3/vorcybmhhrunm4JnvVTRmdlxkKbQ8nY
 Eqcx+rJ/HtIrwkKduvJk
 =pjV4
 -----END PGP SIGNATURE-----
 

[mlir] [tosa] Bug fixes in shape inference pass (#104146)

This change addresses 2 bugs in the TOSA shape inference pass
(`--tosa-infer-shapes`). The included unit test contains a detailed
description of the issues.

- Input IR

```
func.func @main(%arg0: tensor<1x2x8xf32>) {
  %0 = tosa.cast %arg0 : (tensor<1x2x8xf32>) -> tensor<?x2x8xf32>

  %c0 = arith.constant 0 : index
  %dim = tensor.dim %0, %c0 : tensor<?x2x8xf32>

  %expanded_0 = tensor.expand_shape %0 [[0], [1, 2], [3]] output_shape [%dim, 1, 4, 8] : tensor<?x2x8xf32> into tensor<?x1x2x8xf32>
  %expanded_1 = tensor.expand_shape %0 [[0], [1, 2], [3]] output_shape [%dim, 1, 4, 8] : tensor<?x2x8xf32> into tensor<?x1x2x8xf32>
  return
}
```

- Output IR

```
module {
  func.func @main(%arg0: tensor<1x2x8xf32>) {
  %0 = tosa.cast %arg0 : (tensor<1x2x8xf32>) -> tensor<1x2x8xf32>

  // This cast was previously inserted between both 'tensor.expand_shape' ops.
  %cast = tensor.cast %0 : tensor<1x2x8xf32> to tensor<?x2x8xf32>

  %c0 = arith.constant 0 : index
  %dim = tensor.dim %0, %c0 : tensor<1x2x8xf32>

  // The operand of the first 'tensor.expand_shape' op was not previously updated
  // from '%0' to '%cast' due to an invalidation of the iterator traversing the
  // use list of the 'tosa.cast' op.
  %expanded_0 = tensor.expand_shape %cast [[0], [1, 2], [3]] output_shape [%dim, 1, 4, 8] : tensor<?x2x8xf32> into tensor<?x1x2x8xf32>
  %expanded_1 = tensor.expand_shape %cast [[0], [1, 2], [3]] output_shape [%dim, 1, 4, 8] : tensor<?x2x8xf32> into tensor<?x1x2x8xf32>
  return
}
```