<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">