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

    <tr>
        <th>Summary</th>
        <td>
            Emitted binary changes when -g is enabled with -O1
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          theo-lw
      </td>
    </tr>
</table>

<pre>
    The .text section for `inline_asm_program0_preprocessed.c` changes after toggling the `-g` flag.

```
$ clang-trunk -v
clang version 15.0.0 (https://github.com/llvm/llvm-project.git a17c90daf2e7c3b1817ec29ad6648ce89b927f9a)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/cnsun/usr/bin
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/8
Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/9
Selected GCC installation: /usr/lib/gcc/x86_64-linux-gnu/10
Candidate multilib: .;@m64
Candidate multilib: 32;@m32
Candidate multilib: x32;@mx32
Selected multilib: .;@m64
$
$ cat inline_asm_program0_preprocessed.c
typedef char b;
b aj, c, d;
void e() {
  int f;
  for (; f;) {
    b ag[4];
    int **ah[6] = {**ah, *ah};
    ag[f];
    f = 0;
    for (; f < 1; f++)
      for (; d;)
        if (ag[2])
          asm("");
  }
}
int *g() {
  for (;;) {
    b a;
    aj = 0;
    if (c)
      asm("");
    else {
      int am[1];
      return am;
    }
  }
}
void main() {
  g();
  e();
}
$
$ clang-trunk -w -O1 inline_asm_program0_preprocessed.c -c -g3 -o a.out; objdump --disassemble --section=.text a.out > g.txt
$ clang-trunk -w -O1 inline_asm_program0_preprocessed.c -c  -o a.out; objdump --disassemble --section=.text a.out > no_g.txt
$ diff no_g.txt g.txt
28,31c28
<   47:      66 0f 1f 84 00 00 00    nopw   0x0(%rax,%rax,1)
<   4e:      00 00
<   50:      c6 05 00 00 00 00 00    movb   $0x0,0x0(%rip)        # 57 <main+0x17>
<   57:      eb f7                   jmp    50 <main+0x10>
---
>   47:      eb f7                   jmp    40 <main>
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJytVkuTmzgQ_jX40gUlxPvAIfbMbO1pD5v7lEACywvIhcSY-ffbAoyxk0ySylAqEP34-utWS1Ao_p5_PQrwjBgNaFEaqTqoVA9OTGTXyE68Mt2-nntV96wlOBE4L4XWgnslGkF5ZF0tNLDKiB6Mqmv0qsEgKqrd2tpUDas9hzw55Mtyj8ky5lcaQtkgjmv6ofsP3LdZPsngTfTa0vIjj3gEHJoejTlrJ0C_Fxy1NMeh8ErV4kvTvF0fLjI9YUoeGgDzkzIjnFVUJGVQ-KmfiJJmjMdxmJYizYqMJlXGHJrNsb-yvhYGg8CYxq9x6CKxTl06F9MbRrfuhsXu2AvGoVVcNNb6rLQcZ9XfnTasaQR_kr1VIa-jagU-yk4PHT4H3eO9kN3s8KKGjkPJOi45MwL-OhxAziDMrswCMns1srDJlyXeF4o3avTFJ5-PmX4-5FLtf0WDKyX4p6R8WJm1Q2Ok9UIUzwn2TkjaOPzIKqCLGU4-MBtXu_FquKbwUVDs9E3LMwO_sMkme_N-FlxUdrv1UFjUSVwAOzn0AKW98VX8piQHbLQU2xmcZJECRjNQrVYw73S0Cvaz-N4aAOFrJ9qHTvS08ZpxHIpJfGFH1MeoByd4mpyvYiQ0T5J73wmxekSsJn9yL9uwQ_UB_Jko3U8ju1ne2fI5k60WGVdWPcWmNvajHnnpdioYnUa2YWIzmBftOlnyr7-t8I3HD-p5X4vTd9KeqZYPFH9MD0A0WtwHmpeItZiu_1hqgF6Yoe-seitfs_texlNHtQxPqm9SXqqwwRIPkhvcXftvT_wLuP_4v7AbwMVRB-AqYJ4ajF1wVZz40J7BdbnUDO3aohH4tnzPsMLz921ywII_Q-2Z0XwCkz-k0anXByZcVtUq3tK0BT0EfkmXM9huB4AwsV9BksUxkAr8CtIQCFkGyjt1vqAZGcm0IlHPRoRZJ_7aYwucmOEm_60iIrOixDjRLcIap1Vvhe0gGk6hDreA8my7ZbkcGkCU2K08d9KejD5m8HwXaklJFFAl8HCh_IQVnhjdw5AVxnXdK97zpkQ_wQtveCuf60_KjucBz4KM7Yw0jcifW2nsQY_fbda_r39Al6PosDdBahAdw7XncMFfE9tOu6Fv8t_7a8FXqfUgNE6iOKLB7piXgiU8TtK4KIKCBnHsx0lA4iBNMpolQuwaVuBZkOOux02_kzkllJLED0lI4sj3SIh6xtKMZWkZMoZfJoEpN54N7Km-3vX5xKEYao3KRmqjb0rsaVl3Qlzx2WCOqs_xV0-5zWU30c0nrv8Do-Xglw">