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

    <tr>
        <th>Summary</th>
        <td>
            [DirectX] Setup root signature DXIL Lowering.
        </td>
    </tr>

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

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

    <tr>
      <th>Reporter</th>
      <td>
          joaosaffran
      </td>
    </tr>
</table>

<pre>
    This issue focus on setting up the LLVM related code to support the extraction of root signatures from LLVM IR metadata and lowering it to DX Container binary format.

AC:
- [ ] Add a Root Signature analysis pass to extract root signature metadata from LLVM IR.
- [ ] Add validation stage to check extracted data.
- [ ] Add the analysis into DirectX backend.
- [ ] Add the analysis into DXContainerGlobals dependencies.
- [ ] Add test to check the generated data and validations are executed correctly.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMkjFv2zwQhn8NtRwiyJTkyIMGJ4a_L4C7JEXh9USeJCY0KZCntP73BRUnLpIOnbiQzz338sUYzeCIWlHfiXqX4cyjD-2zRx-x7wO6rPP63H4fTQQT40zQezVH8A4iMRs3wDwBjwSHw49vEMgikwblNQF7iPM0-cDLBfrFARUb78D3ELxnSMOR50AR-uBPb4yHRzgRo0ZGQKfB-p8U0iDDCbk7wr13jMZRgM44DGfofTgh56LYimK7vRdlOm9A1Hcg6h1stQaExzTx6X0ioEN7jibChDEm8MXvk9nV5U_D_Av_Fa3RuGwXGYdlezWSennnkoaE-foyZfMhY1xa0QRSfIQO1Qs5_U9Pjh-h_Gd9hzaCpomcJqcMxb8gKPLVMQEHchTw3XOJ_rpUBAzpC0nNb_8bkqI955luS70pN5hRu7otN7KsqrrJxlap23Jd4Xq9aTpV1ZJKjVWj1KruUGPfZKaVhawLuVoVRVXUTb6mjWxURbLalJXuG1EVdEJjc2tfT7kPQ7Y0sF3J9bqUmcWObFyaK-X_h6eDkDJ1OLTp_k03D1FUhTWR45XAhu3S9kvGKY4n4nn6_O2748MBDpfq5dkcbDsyTzF1S-6F3A-Gx7nLlT8JuU_8y3EzBf9MioXcL7pRyP3F-LWVvwMAAP___1ElWQ">