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

    <tr>
        <th>Summary</th>
        <td>
            [DebubInfo]location is not right for static variable when optimization is enabled.
        </td>
    </tr>

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

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

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

<pre>
    ```
static int data2 = 10;
void set1()
{
    data2 = 100;
}
void set2()
{
    data2 = 10;
}
int get()
{
    return data2;
}

int main()
{
  set2();
  set1();
  return get();
}
```

```
clang 1.c -O2 -g
```

```
llvm-dwarfdump -i a.out

.debug_info contents:
0x00000000: Compile Unit: length = 0x0000007e, format = DWARF32, version = 0x0005, unit_type = DW_UT_compile, abbr_offset = 0x0000, addr_size = 0x08 (next unit at 0x00000082)

0x00000027:   DW_TAG_variable
 DW_AT_name     ("data2")
                DW_AT_type      (0x0000003a "int")
 DW_AT_decl_file        ("/home/czhengsz/test/103.c")
 DW_AT_decl_line        (1)
                DW_AT_location  (DW_OP_addrx 0x0, DW_OP_deref_size 0x1, DW_OP_constu 0x5a, DW_OP_mul, DW_OP_lit10, DW_OP_plus, DW_OP_stack_value)
```

The location for `data2` is not right, the content at address index addrx 0x0 is 0, so it always returns 10 for `p data2` in GDB.

```
(gdb) b main
Breakpoint 1 at 0x10958: file 103.c, line 18.
(gdb) r
Starting program: a.out

Breakpoint 1, set1 () at 103.c:4
4           data2 = 100;
(gdb) p data2
$1 = 10
(gdb) n
main () at 103.c:19
19        return get();
(gdb) p data2
$2 = 10     ////This seems not right, should be 100 now.
```

</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMVU1vqzoT_jXOZlRkTEhgkUValKN3dV7d26MukcED-B5jI2zatL_-ynyEtGl7D0JCjGeeZ77NrZW1RjyQ-J7E2YYPrjH9oWxQvzWo65BGdFMY8XogOzq_NCP0aB13sgSpHQjuOAMSZRBSEt1P589GCrDoQsISwtJJSPbzKQC8M1vtyD57D8D-CODW3ntWo_vSukc39HoCubVeMVou9RcgV95F18LwRjiTrf7cEr5P76fCUnFdQxiUcPeTwV3955ZKPbd34oX3lRjaDu4k8MAM7toiEFgMdS51ZaA02qF2lkTzIT3T-SHRER5M20mF8EtL5_8V6to1YyUWxT0S9gCV6VvuxoPs6fjXKWJe-oy9lUav-rGXDlq63L12OKvnvx7zciLyx7wo-txUlUV3RTSeCNHnVr7hIk-AsETj2Y2YwN3Fq4StZXwXF9v7OMDTPh5_5M-8l7xQOJcve8qPj7nmLRKajgVkU9uwFQ8-PJONj2eyWZgiDoQxqd0740lbYKnyyge80BB2akyLhJ3KcRztG2Enh9YRdgppFJRfoSipZ5TwP1xUpuROGj1pZ0_5z__nPqVnnzWf30kksMdqSjM9h6u8NNq6Aeg55quwHdT6o6QLr4A6Ndj1zzpe_s6fuRpwLc1nDf3YICyu-r4CsqNTEXYUpAVtHPSybpzHdg0uPezL78NBa0FqgWe4BOfNRsesAd8n6oW_2nlULYR0oelgJdLwI7sPvpk0wpJaFISlUEyrY5Te98h_d8bvk3BqyJCmceKbztcb5lo-gK8bhEnwEayfBH873jupa-h6U_e89QA3k3xNNoaHLoRp73juiSs6biftLaHpN-v44sGShVm8DZfN-0FvjtjH_glpONfYf9Pv9uKXvIuPYwsTdrq8j420YBHbD81gGzMoAYXPMgVtXoJPC7cRh0ikUco3eAh3CaNxEkXhpjlsebzfcx7FuA0rlooqipFtBU9SVkZVmmzkgVEW0S0L6Y7FEQ2wEmVZFpGI6S5mTJAtxZZLFfg1HJi-3khrBzzsGNtvN4oXqOx4ATM2LmG_g_1gx9mmP4yruxhqS7ZUSevsiuKkU-PNnWExFP_zVnF2GZLroRhbeb6yl-UGLw1qMJ2TrXy7mKD2ZyLYDL06NM514yUwJriWrhmKoDQtYSfvxPy563rzD5Z-J41xWcJOY2j_BgAA__8PZVBf">