<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/56614>56614</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            [mlir][pdll] Need to get shape information from input 
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          not-jenni
      </td>
    </tr>
</table>

<pre>
    I am working to add some MHLO -> TOSA legalizations with PDLL, but I am stuck on some ops where I need to use the shape of an input.

For example, I want to create a tosa.equal op with 2 f32 input tensors, then return an i1 tensor of the same shape:
```"tosa.equal"(%0, %1) : (tensor<10xf32>, tensor<10xf32>) -> tensor<10xi1>```

To get this to work in PDLL, I am currently hardcoding the output shape for this specific test:
```let equalsResult = op<tosa.equal>(input0, input1) -> (type<"tensor<10xi1>">);```

Is this possible with PDLL?
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxtU19PpDAQ_zTlZeIGyrLLPvCgrpsz8c7LnV-gwADV0nJtOfU-_U0L6iaaEJgy7e8fQ23a1-oWxAjPxj5J3YM3INoWnBkRvn-7u4cLlt_Aw_3vS1DYCyX_CS-NdvAs_QA_j3d3jF9DPXuIMM7PzRMYvQCYifYNaJGaGrEN6LND8AOCG8REOzoQGqSeZr9h6ZGll8v9ZCzgixgnhQH_Fp6F9uF4Y1F4BEG1Exv8MwtFNIsaDl3OFzDwqJ2xLhwmNg0W_Wx1JMvWZiCPSsS4ymH5Ss926Xpx_kFEC8ZLxos0wNIzY_wAdIjqcsFk-XWWvpAMSi1yf_H2sGR63pJZ6LyTngXxYKBHsjNIF-yHz0QO34OPoTeztai9eoVB2LYxbfyQ5MzMPmSxRN2R4wjjJmxkJxtS4Pxny4rool33C92sPBk8UsQk9CyJ4KOMSccsYpW9WwtxvIY4r0N-n3zyNQeWX33p-dYtQifjnKwVns1afkraKm8P-UEkXnqFFSuuRiUtK45UTa1SVMGPddhCdIt7qcn_GGcXOmvGdUyS2apq8H5yIQh-oqsnsrneNGakhVJ_3x4XkzWP2HhaSudmpNk6Fbtdtk2GKu_4bod5WSIXXVHndcr3aZ1udzxPRbHniRI1KhfEkrxEVjzlPN1nh6wsUp5vmrLuun2D23Jb8L3o2DbFUUi1CcQbY_vEVlFDPfeOmko67z6agnLq6Qd7wxezH4yttPEXj6i1TKLgKqr9D-dDOwk">