<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/56597>56597</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Missed optimizations even if asm has empty output and clobber lists
</td>
</tr>
<tr>
<th>Labels</th>
<td>
llvm:optimizations,
missed-optimization
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
davidbolvansky
</td>
</tr>
</table>
<pre>
```
int foo(int *x)
{
*x=5;
asm("# comment" : : );
return *x + 42;
}
```
LLVM -O3
```
foo: # @foo
movl $5, (%rdi)
movl (%rdi), %eax
addl $42, %eax
retq
```
GCC -O3
```
foo:
mov DWORD PTR [rdi], 5
mov eax, 47
ret
```
https://godbolt.org/z/8rzhKer8x
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyNU8GO2yAQ_Rp8QYkcbGL74EMSa3vorrZaVe0ZDIlpbeMCjpJ8fQeczSab7aoIw8AbhveGMdfiWKJlfO5xheKV6h3eao1I7i1EVgdEiglC2Xoy8LSfVBQlly1mOziECEEkwbXuOtk7WGGUrKYPwrx5G-lG04c4MKxxSi4gyqqzcctsGh8ffzzh2XNyvffO0dOHC_-jeaoojf2BM6-pdXrfTnhKEdngIIwaoS65uPe88ggnqGSHW18mxGtUkPsPJ0jMn0-0TeOXzeYqBx-pv2MZ5urn80uFv31_wYiuPVlaeR70Y2_PDdA0u2P4CbXGucF6AuQB-k4Lrls312YHqxN8uTk1X6XJD5EoE1EkBYuccq0sn5S1UmA9ONWpE3NK9xbLveyx2vriwg2DdTe4I9ajG0aHWS9w3WrOpcGtss5Go2nLdwSUa0Y-h3qERdvuX6fZYPQvWUOFPsC9o7Rg0CUtsqgpa85YtkhrTgjN2HbJs0KmNSEklnmWFHXUMi5bW0IOocBD0GR1wzv8Bf59SRdUza5RD9IqUiWJIWS2yMkioZTOOVvm8VIm21wsUl4TKEzZMdXO_Q0-g5EpA3U-7iyAQfIbyKxVu17KQAvis9E12pSC7ZV_gz3r7e9jFMSWQelfrZcSRg">