<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/62915>62915</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
'opt -passes=licm' generates wrong debug informaiton
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
edumoot
</td>
</tr>
</table>
<pre>
LLVM commit(16.0.3): [da3cd33](https://github.com/llvm/llvm-project/commit/da3cd333bea572fb10470f610a27f22bcb84b08c)
Reproduce with:
`clang case.c -g -O0 -Xclang -disable-O0-optnone -emit-llvm -c -o case.bc`
`opt -passes=licm case.bc -o case.optbc`
`llc -filetype=obj case.optbc -o case.o`
`clang case.o -o case.out`
`lldb case.out`
`cat case.c`
int func_1(void){
int a = 0;
for (int b = 0; b > 0; ++b){
int c = 9;
a += c;
}
return a;
}
int main(void)
{
int a = 0;
for (int i = 0; i < 100; i++)
a += func_1();
return a;
}
LLDB Output(set a breakpoint at main function and then debug step by step):
`(lldb) s
Process 1266566 stopped
* thread #1, name = 'case.out', stop reason = step in
frame #0: 0x0000555555555164 case.out`func_1 at bug_04.c:5:11
2 int a = 0;
3 for (int b = 0; b > 0; ++b){
4 int c = 9;
-> 5 a += c;
6 }
7 return a;
8 }
(lldb) p b
(int) $0 = 0
(lldb) p c
(int) $1 = 0`
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJycVc2SozYQfpr2pQuXaPFjDhzsdXya1KRySOW2JQmBtQGJQmIn8_YpwMbMeg7Z5WDk_n7ollqS8N40VusS0hOk550Yw9UNpa7Gzrmwk656L19e_vodles6E4AOcbZnew5UAD8ipKdKcFVxDukZ6HANoffAj0AXoEtjwnWUe-U6oEvbfr-_on5w37QKQJe77eVmw6UWaU61jFmSszqLmaC8JpJKHhLJDmr6MDsDO_6p-8FVo9L4ZsJ1-uYchoypVtgGlfB6rxCjBqNXhhj9vcSjynghWx29ssj1wTqrESPdmRBNuWGkMHKLWirI2Grr-oBRL7zXHvi5Naq7s3BVuD58FLWtwqg2rQ7vvQZ-dvLbhvnQbTWb_N2DMYaPvpX8BFgtRLhNwIoZG7AerfoaAx2-O1NNM5mfFhARcSIIBH5GBvwer92AQIcJkys2D39bhkAnoJP80exuqGZR8TC8PWIW8jOqBwT5-UEadBgHi2KFV_RRTieM3RRzo_1ESeZR0jT8gjFb_ixVraZPWa8TOe-D0_9P--XlfMLXMfTjtJe8nvKTgxb_9G5Odilq9g_GWRS2wnDVFistxwZ90D3K9_m9bMF1yYEOU1MAFeiX4B-DU9p7jCnL0ixDH1zf6-qmoCOG66BFhUA8BvqCVnR6nhCgfG0tyidokuKghXd2Zsx5GPuoux5mMXE2HQvsX8YYS-9PnCXbXl0mb6pVjs1XluwV8GMK_BjHqyFtm-hpCRH5Hf_FBk1w83zWqNFkkG5Zn7UsYnaHt92b34NP7YCIhw_szbL1KNeYsWEKASXsVtUzW33Cjm_sH06Eze-uKnlV8ELsdBlnh6TgxHiyu5YkRF7wJK7jTFQiz5nUqhBFRiIXkql4Z0pixFlKSUwJ48k-U4e40EWRV0rVWV1BwnQnTLufDtK9G5qd8X7UZUZFnO5aIXXr54uGyOo3nEEgmu6doZwvBjk2HhLWGh_8wyWY0OoSKH8-goFybLTVgwja49vgbHPbKsbWbuiECc7uxqEtf_pqmtPzQJc5_f8CAAD__2Wh8xU">