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

    <tr>
        <th>Summary</th>
        <td>
            [SPIR-V] Rework SPIR-V Backend work with user options
        </td>
    </tr>

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

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

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

<pre>
    The SPIR-V Backend requires refactoring wrt. a way it's working with user facing options. While an option data set as a bunch of global `static cl::opt` may be ok from the perspective of `llc` runs, it doesn't work with an expectedly multithreading host environment that is to make use of the SPIR-V Backend API. See https://github.com/llvm/llvm-project/pull/124653 as a demo of needs to refactor SPIR-V Backend design in this part.
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyUUk1v2zwM_jXyhajhyF_NwYf2LQIUeA9FO3RnWqIjLbLkSXQy__vBTooC3S47CSApPh98MCV79ESdqB-FlO8LKkPJ4fl_Oi-cTssipBT1U4YzmxC7vwxkfdBL980QvL08v969wyOqE3kNkX7ONlKCSAMqDtH6I1wi54BwwQUsC9kmuIR42jqWDcyJIgyo1kKY2AafcvhurCNAf6uARkZIxIAJEPrZKwNhgKMLPToQTZEY2SpQTpQPonwIE4umgBEX6AnCCYYYRmBDMFFMEym2Z1o3iKZwTq2zcfZJyP_AMuhAyQvZ8sb0ShM90K_1I2m3wDg7tmwioV55m5AYyJ9tDH4kz8AGGWwCDjDiiVaRKxr_adnDy3MOb0RgmKe0spcHIQ9Hy2bucxVGIQ_OnT-euymGH6RYyMM0OyfkYSerpi6vxmgaw4rjifQG_nGHr6ia1hCA9cDGJpgwcp7prtT7co8Zdbu2vC-qqm3qzHSywF7Rrq9R9nvdDli3pHTTD23Tt1IWme1kIetiJ--LZierOh-w3u-UGkiqvtVNI6qCRrQuXyXkIR4zm9JM3U5WbVFmDnty6RZITxfYurcYxm7T3c_HJKrC2cTpcw1bdluSr_pE_QSvtB3ti-DPQ255uwUtm6Pr_tn4jV26Wr_SP3fydwAAAP__fcYeiQ">