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

    <tr>
        <th>Summary</th>
        <td>
            [DirectX] Shader flag analysis does not take into account vector types
        </td>
    </tr>

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

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

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

<pre>
    The DXIL shader flag analysis pass does not take into account vector types when evaluating shader flags.
Despite scalarization occurring before the shader flag analysis pass, vectors can still exist in raw buffer loads and stores for example.

Repro cases (from @spall): 
- https://godbolt.org/z/PYbf44v8Y
- https://godbolt.org/z/Wd6rGd43G
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMks1q3DAQx59GvgxZtLKcWAcftl0cAj2UttDkOJbGtlqtZDTy5uPpi5eFltJCTjpo_h_S_JDZT5GoE80H0RwrXMuccvdg00wup1gNyb1232aC4-PDJ-AZHWUYA06AEcMre4YFmcElYoipQMGfBD6WBGhtWmOBM9mSMpTXhRieZ4pAZwwrFh-nPx15J-ThSLz4QsAWA2b_hsWnCMnaNedtfqAxZYIy0__LCPXxGspgMQIXHwLQi-cCPkLGZxjWcaQMIaFjwOiAS8rEMKYM9IKnJdDWRsjDF1pyAotMDEK1Y04nEFrygiEIZUR9ACEPNzCXsrCoD0L1QvVTckMKZZfyJFT_JlT_-WkYtT63T--a_u5u873T9X3lutqZ2mBF3f6uqes7c1vLau5G51A3Bk3Tyn3bShrJ6Fs7mAZrY_a68p2SqpF3Sm-6Ru7cfhjrutVqMGbUqhVa0gl92IVwPm3ZlWdeqds3UreqCjhQ4AsYSkV6hsutUGrjJHeb6GZYJxZaBs-Ff9sUX8KFqKPPZMujaI7w9V_Leic01ZpD99eP-TKvw86mk1D9Fnw9bpacfpAtQvWXuixUf33PuVO_AgAA___BUvmM">