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