<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/76789>76789</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Wrong code at -O1 on x86_64-linux_gnu since LLVM-13
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
shao-hua-li
</td>
</tr>
</table>
<pre>
Clang at -O1 produces the wrong code since LLVM-13.
Bisected to 8f3d16905d75b07a933d01dc29677fe5867c1b3e, which was committed by @efriedma-quic
Compiler explorer: https://godbolt.org/z/35no4xxfK
```console
% cat a.c
int printf(const char *, ...);
char a;
short b;
static short *c = &b;
static short **f = &c;
int g;
int h(char *j, long k) {
int d = 0;
char *e = j + k;
for (; j < e; j++)
d = (d << 4) + *j;
return d;
}
int l(char j, long k) {
int i = h(&j, k);
return i;
}
int m(void);
void n() { m(); }
int m() {
int o;
char p = b = 4;
for (;;) {
g = 0;
for (; g <= 4; g++) {
p = 0;
for (; p <= 5; p++)
o = l(1, **f - 3);
a = (6 || 0) & o;
}
break;
}
short ***s = &f, ***q = s;
return &s != &q;
}
int main() {
n();
printf("%d\n", a);
}
%
% clang -O0 a.c && ./a.out
1
% clang -O1 a.c && ./a.out
0
%
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8VU1zozgQ_TXtS5cp0eLzwMF2ypedrbntHqeEEKAEIweJSWZ__ZaEP3CSGReFJfXT66fupiWs1d2oVAXpHtKnjZhdb6bK9sJs-1lsB72pTfOrOgxi7FA43H6P8TyZZpbKousVvk1m7FCaRqHVo1T47ds_f29jHgF7ArZb3nttlXSqQWewaHkTZyVLmzytWS5KzhsWN5LKLM9blRZZLuOaK6ADvvVa9vgmLEpzOmnnKepfCAlT7aRVcxLb11lLXPs6mNNZD2pC9X4ezKQm4DvsnTtb4DugI9CxM01tBheZqQM6_gd05Olokvf39q81E2RseaQZrRnUZZVSlMKhiOSyoEeH50mPrgUqPNSh7MWEQDt_hiiKgErg-wUdTOI2tb2ZHNb3uRNOS1yWgXYSgT8hUPZ7CNCuvaLkDeVVdQ-z3su7CHv2ygafuRegEiG_4BA9sgl07LYbbwdSwfKMQHt8Wdlb480F8L038gOqMATah6e84vDCDVT4wcFDk6CA9ouuO-ek3DyN2NyWIH-6n2a4nubPR9HBnT86UBagL-tsXJ3or52cgIqfRjfrLX6OYyAM3gJoAeCnzV8oMh_Deg4S6_BOvoypfx6JELtPOXrIQrdEd2HE7paIRxK8OH-keSA6X4nSMPsio_5nAo3PSexjfK3KLfKHaIefuFZAhpAfID8gWyoge4gN3qPpJ_WkxLriVsb1lwC0s9ePob1LAdq9hmX7ucCAMotA8WXX629KQejxc0LHW-4vK7dGAERAaQPpYQzDA4o18MYNlK76Smiz2-_MdxcvxgclAjqKyMxuwcWf4fEf4Oyjm2tT2zQVb0peio2q4pwllMeM2KavkljIkrIsjdOizOKE0jwvmiRXrCDeJnyjK2KUsJhxVvCcsagmKrmSbVvmjWJZ6_vzSeghGoafJ99lN9raWVV5lhflZhC1Gmy4cYhG9YbB6IOUPm2myu_Z1nNnIWGDts7eWZx2g6r-vd84lwvJjPheZD-yZDvocX7_0Y3z42W0maeh-nAHaNfPdSTNCejoPVz-tufJPCvpgI5BlwU6Bt3_BwAA__9rltyl">