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

    <tr>
        <th>Summary</th>
        <td>
            AMDGPU OpenMP offload errors with O0 and save-temps
        </td>
    </tr>

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

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

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

<pre>
    Use the reproducer from #71593.

Add "-v --save-temps" to the compile line.  Get an error:
```
a.out.amdgcn-amd-amdhsa.gfx900.s:100638:27: error: invalid operand (violates constant bus restrictions)
        v_writelane_b32 v7, s24, m0
```

Add "-O0" (and no "--save-temps") and get an assertion failure:
```
clang-linker-wrapper: llvm-project/llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp:154: virtual bool llvm::AMDGPUResourceUsageAnalysis::runOnModule(llvm::Module&): Assertion `MF && "function must have been generated already"' failed.
```

Full outputs from the errors attached

[out_amd_O0.txt](https://github.com/llvm/llvm-project/files/13289882/out_amd_O0.txt)
[out_amd_save_temps.txt](https://github.com/llvm/llvm-project/files/13289883/out_amd_save_temps.txt)

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJysVE2PozgQ_TXmUgoidiBw4MBsK3NqZbTaPkcFLoh3jI38Qab__cqkP0e7I600CDC28atXr56N3qvJELWs_MLKhwxjuFrXzui-S7opM2W9lc_tkycIVwJHi7MyDuRgdHYGxsVxXzYiZ8UDK7r7u5MSGOe7FXY7jyvtAs2LZ5xDsBvKYOdFaQKtDOUAXykAGiDnrGPiBYRVxcu9dTG3MeQ4y2kwO5xleq4e82n80RRF7pno9kVRiZqJjh-Z6N7gQJkVtZJgF3JoErV6VVZjIA-DNT6gCdBHD458cGoIyhrPeHMPDC_Xerk5FUijoUsvOKxHxv8Azw-pmYt_Jf1ZjnORJGC8TiSM3cY-68N4A2lyuguC3pNLbGBEpaOj_xJn0GimnVbmO7ndzeGy0Ja51uu8W5z9m4bA-Cl1U6N6xk9_oZsojXaPD1-_Pb19_EneRjfQk8eJOoP62SufD8uSFC4PCXZVLkTU0FurtxiJl-h-sf7-g4vmbB6tjJoYr98Xvg5VSXTRQfeWN6uKxxNsM1XSa4xmKw_M0Qe44krQExmYyJDDQBJQO0L5vIl53HQjmf-iOKeoNdgYlhj83dLJoJt3PGAIOFxJflzAyi82hgvO8nIu8vAjsPKB8foawrKlyU-MnyYVrrHPBzt_kP1zMUalyTN-2gteN3XNGT_9hPvqwA8Rk1sum1t-X2TxIfJP-K8MMtkK2YgGM2r3VdOI5ljt6-zajryXfSMKWY10GIdhX0ssRVmXVO95WVaZannBxX5fHDkvhahzIUWDh4rGHgfqe8kOBc2odJ5I5tZNmfI-UptOlUOmsSftt7OJc0M32CZTccuHzLVbYn2cPDsUWvng31GCCprauyXhvJB5_AZ2HLVF-VrdmwpXOBfbjnvfhll0uv3fmm68kqgb738CAAD__0ecqvY">