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

    <tr>
        <th>Summary</th>
        <td>
            [DirectX] Eliminate implicit conversion operator of ComputeShaderFlags to uint64_t
        </td>
    </tr>

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

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

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

<pre>
    The implicit conversion `operator()` of `ComputeShaderFlags` to `uint64_t` may encourage unintended usage - see [this comment](https://github.com/llvm/llvm-project/pull/118306/files#r1868206699).

Eliminate `operator()` and update other access functions such as `getFeatureFlags()` etc., accordingly. 

Additionally, define equality `operator==`.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUkk9v3CAQxT8NvqBY_LG99sGHTbZWD7mlh94qbAabCIMLQ6r99hUbbaOquVRCQpphHrzHT6VkVw8wkvaRtJdKZdxCHOdNRaV_qddrNQd9Hb9tQO1-OLtYpEvwbxCTDZ6SjoUDosIQieiJGEjHaDCl_hT2IyO8bEpDnJxaU-lhKL1sPXbNDyyVXV0p-CXkqFag2VuP4DVomlMpPNAEQEn7iJtNdAn7Dh5JeyGi3xCPROSZiImIabW45blewk7E5NzbfXs4YniFBYmYjuwcERPnvWQdEZOxDhIRMvK-6wXrumEgYqgJOxN2_uLsbr1C-Nyk8prmQ5d-wA0iVcsCKVGT_YI2-ERTXjaqUhlfASdQmCO8B_FHBXCpiXgqwyFq61d3ren7_WetbRFSzl3LEQ3GeqDwMytn8frXq-SlrI7VlR6lHuSgKhj5SUpxkg2X1TbyYYDGmF6D0b0QpteNbCRnXA1qnrms7CiYaLhgDWMt47I2vWHzsLR8PjWGGUMaBruyri6h1iGulU0pw8h5355Y5dQMLt0wEuLr88szEaIAFcfbJ8x5TaRhziZMHwpo0d3Qu9gIC34n7YV-5P4ZcHfLBbJ_CSt43dmqcnTjfyNy85TeISm23kbxOwAA__9QNgMw">