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

    <tr>
        <th>Summary</th>
        <td>
            Construct and validate the shader flags mask for entry functions
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    Once the change that [implements per-function shader flag mask collection](https://github.com/llvm/llvm-project/issues/111867) is merged, implement the mechanisms to compute shader flags mask for entry functions based on the shader flags mask of functions called by the entry function.

Implement any additional validation necessary involving module flags collected.

AC:
- Add tests with entry functions that call other non-entry functions to verify correctness of the emitted shader flag mask in metadata and in the generated DXIL Container binary.
- Ensure correctness of added tests by compiling for library and non-library targets.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykU0GPmzwQ_TXmMkoEBhI4cMgmX6SVPqnXXgd7At4aO7KHrPj3ldnNdrdpT72ALT-P33vzBmM0gyPqRP0k6lOGM48-dP2IAfUrvixZ7_XSfXOKgEcCNaIb0hIZRP1kpquliRxHuFLYXGan2HgHcURNAS4WB5gw_gDlraX1TNQnIZuR-RpFeRDyLOR5MDzO_Vb5Sciztbf7b3MN_oUUC3k2Mc4UhTwXRdHs9kK2YCJMFAbSQh7hg8lKc6JE1MQpAntQfrrOTJ9ZxTdaFx-AHIcF7tQj9BhJg3droccr_vIJq9Ba0tAvK_hrpa3ITyI_vH2fP-ihWwC1NgmCFm5ojcbVNEeKYsSwgHE3b2_GDTB5PVt6f__dRNJfSh-Oycd1uYGD1sAUOcKr4fFB29q3RBo8jxTAebd5wHi4UTCXBZQPgRQ7ijHJXiVOhpn0Y4ONg4kYNTICOp32CT-Qo4Dpxun78_9w9I7ROArQG4dh2d55_-fiHOj3F1Fruuvpl7WPxiZbUt-s6UMyK72WdNz3jGEgjttMd6VuyxYz6oq9bOW-ass2G7u6UZJUUZVUl0XZN_lO1uWuaCrKd5L2lJlO5rIq8qIpmryp261qGpXXubzs6mZX0V5UOU1o7DaFdOvDkK3x7IpCtlWbWezJxnWkpHT0CuupkDJNWOjWZPfzEEWVWxM5_irDhi11R-8ih1nxqu09IfSXPP4hwtkcbPcvE7aquHXyZwAAAP__t6VrSQ">