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

    <tr>
        <th>Summary</th>
        <td>
            [NFC][HLSL][RootSignature] Split up `HLSLRootSignatureUtils`
        </td>
    </tr>

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

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

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

<pre>
    Utils files tend to generally end up as a dumping grounds of many different parts.

This issue track the non-functional change to move the metadata related logic into `RootSignatureMetadata` and the serialization logic into `RootSignature`.

AC:
- [ ] Remove the `RootSignatureUtils` library
- [ ] Move metadata logic into the `RootSignatureMetadata` library
- [ ] Move serialization logic into the `HLSLRootSignature` library
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx8Us1unDAQfhpzGe3KGGx2DxySrFAPSQ9J-wADDODW2Mg2kbZPXxmRNImSnmxZ8_15PgxBj5aoZvKWCaFtS0Z3TAgmLxmucXK-3h-z1vXX-mfUJsCgDQWIZHuIDkay5NGYK6SHdQEMgNCv86LtCKN3q-0DuAFmtFfo9TCQJxthQR_DkfEbxm9-TDqADmEliB673xAnAuvsYVhtF7WzaKCb0I6UFGf3TNvETBF7jAieDEbqwbhRd6BtdMAUf3QuPunRYlw9PeyzTHHA5HwiCOQ1Gv0Hk8T_wEzx3enNHSvSeQAmb4HJCzzSq5-PsO27kqDRrUd_fYd7SKjXBG_EP2N66_5Lsi_j7Izf7p_uP8Z6Ycv6uujPxRkzqvNK8rPi8lRmU02S82JQqixPMlc5P8m8qgrRdRWpXJHIdC24kFwJlVdSifJYqK4_VQMOeYdE8sxKTjNqczTmeT46P2bbpuu8lOdSZQZbMmGvYLK498_Xaf7QrmNgJTc6xPCPIepottp-b-6YvDB5uyG32_uI8gJPi9ExNfOzP3jZUbZ6U08xLiEtWDRMNKOO09oeOzcz0STp_Tgs3v2iLjLRbEkCE80e5rkWfwMAAP__k_YYQw">