<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/126712>126712</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[mlir][linalg][tensor] Audit Tensor_RelayoutOp/Linalg_RelayoutOp
</td>
</tr>
<tr>
<th>Labels</th>
<td>
mlir
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
banach-space
</td>
</tr>
</table>
<pre>
As pointed out by @Groverkss in this [comment](https://github.com/llvm/llvm-project/pull/123902/files#r1927303676):
> I think DPS, tensor only ops should always be Pure. Is there a reason we have them as ConditionallySpeculatable? Just trying to understand if there is some possibility of undefined behavior i'm missing.
This is regarding [Tensor_RelayoutOp](https://github.com/llvm/llvm-project/blob/67f59a642f96cdb0b73b991b96b5ca05b988e50d/mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td#L1831-L1840) that's about to be moved to Linalg:
* https://github.com/llvm/llvm-project/pull/123902/
In order to make sure that in #123902 we focus on simple code-refactor, I am re-directing the discussion on the design of `Tensor_RelayoutOp`/`Linalg_RelayoutOp` to this issue.
Thanks :)
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJykVE2P3DYP_jWaC7EDmf4--LC78_rFFAskSHIvJIseqytLhihPMP--sJ0mKPbUFjBgmZZIPh-iYrY3T9SJ8kWUl5Na0xRip5VXw_TEixropIN5dM8MS7A-kYGwJtAPEIX8fwx3iu_MYD2kyTKI8mUI80w-ifIisJlSWljkzwJ7gf3NpmnV5yHMAnvn7n-9npYY_qAhCeyX1TmBfYZ5K1FgP1pHLDCPWYt1LvOqrgS2W0a5P_n_4LqV9u9w-fxV4Csk8hwiBO8eEBYGnsLqDCj3XT0YNMHnNdIZrgxpokigIJLi4OE7waTutIVnUAyvwRubbPDKucfXhYbVqaS0I5H38NvKCVJ8WH-DFGD1hiIn5Q3Y8Udiy8BhJlgCs9XW2fSAMO5bR-vJgKZJ3W2IYAXWM8yW2frb-UD2baPTMkS6qWi2MqJ8-bZj-_0LOfUIa_q0_EuWtQtaYF_VY9mqqsCxrQajpa5z3baZbitdDkqWum0aKqUR2M_ORoG99YNbDf0KXKxyR86jN4H99cvPr08Ln5MRmL9lTZ49vWVNIQW2kCaVBNYMSm9uSmHTZQ53Mtv6zXrlbj80xmf4zyY6GL16CNFQ3ErM6p2A10h7K5t9BebH_s0HYxhWhuCB7bw4giEYeoo0qiFtEF_hCmqGSE_GRhrSboKJwFgeVmYb_HZ2j9B2vzbZRSU_qlfJrbtKHoj__mdrMx0m4JV-ukL5d4adjPZkuty0eatO1GV13mKdNUVzmjqUVYVl2w5qkLqoNJZVLpvCqLFq6iZTJ9uhxFJilmWZLGRzrvSgTDtWZVMUBY0kCkmzsu68MXsO8Xbau-gyrOoMT05pcrwPDcTDCbiNj9jtSuj1xqKQznLiXxmSTW4fNPuB8iLKF3cova-PeyvKCzyvxib4yBb2H3g6rdF1_9gfOxbeHbLDuXf4ZwAAAP__rtCjKA">