<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/62601>62601</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Timeout when turning on optimization options on clang15 and clang17
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
starbugs-qurong
</td>
</tr>
</table>
<pre>
Consider the following example:
~~~c
#include <stdio.h>
long eB77V718 = 1667739;
short TAGaBiK = 822;
int GYm9015 = 6275;
void g65wq4D()
{
int B3903G66count = 0;
do
{
B3903G66count = B3903G66count + 1;
if (B3903G66count > 2)
{
break;
}
} while (1);
int T18dUW7Dcount = 0;
do
{
T18dUW7Dcount = T18dUW7Dcount + 1;
if (T18dUW7Dcount > 2)
{
break;
}
TAGaBiK >>= 33; /*if RHS >= 32 it's a infinite loop in clang-15 -O1 -O2 -O3*/
} while ((TAGaBiK) >= (TAGaBiK++));
return;
}
long JU5IfLU = 2163839;
int main()
{
g65wq4D();
printf("%d\n", eB77V718);
printf("%d\n", TAGaBiK);
printf("%d\n", GYm9015);
printf("%d\n", JU5IfLU);
return 0;
}
~~~
This will run successful on clang15 without optimization, clang17 without optimization, clang-14, gcc-9, gcc-11:
But run timeout on clang15 and clang17 in -O1, -O2, -O3
We found an infinite loop in its assembly code under optimization options
~~~assembly
.LBB1_1: # =>This Inner Loop Header: Depth=1
incl %eax
jmp .LBB1_1
~~~
The related files can be found in https://github.com/starbugs-qurong/c-compiler-test/tree/main/clang/program907/cprogram907.c
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUVVtv2zYU_jX0y4EMiQwl60EPURS33QIE2JIVexoo6dhiR5EuSdXtHvzbB8o32Um6TDAs6ly-c-HHQ-GcXGvEgvCS8GomBt8ZWzgvbD2sXfR1sEavZ7VpfxR3RjvZogXfIayMUmYr9Rrwu-g3Cgm7JXFF4sP_brdrDt-USd2ooUUg7M75Vpp5R9j9XqtMgCiz7I8sWQBhFSRpmmUsJ6zcW7jOWA9Ptx9EKX8dLRaUnrRSe_jwZ5_HCR91Kc34SfnNyBbWKd9-vakIXRCaH1LKDgYQngBRsjxmH9K0MYP2I1B8Qgk2rTmvz94vva4ktITkAgdAroDQxbXnPdBTdnCZHgDUFsXfVzgkq6YpVbDtpMKAnQSkqXEo8ClZtM-fs-r_FTg-L12vJG9Wee15USW8EuodpcKECvfjrwLGCCuB0CWht3IFv338HY4aCtITmjkQIPVKaukRlDEbkBoaJfQ6SjhEjwlEjxSiR0bobcA5bsSkraGefWRC8yP-VFiOv_yy-xb9YPVZcKplJP4vz_zT6uF5bCpNUraY8D7sWi-kfoO4l7Q-B9xYqf1qFFNCeUv4nR6Xd6dj9m6Hc73vsz8cxHfbH8p_rWMTep5attvtpiPmqZMOtlIpsIMGNzQNOrcaFJjD1iYcttJ3ZvBgNl728h_hpdEh8l6f_VwfJTdhvW6aKD8ukuRq0JWDH-N72eOIdA4udHsKFPgWPSYBJnqk-xeb4nwOM3XQLQj9kqnSOxDOYV-rH9CYFmHQYRJP0x4_jHZXU_jothfMH8oy-SvUAP_xEMoCLQm7H_v8SWu08BDy-YiiRRsgKtz4jrAqOcbMw6QncU4oR_H9JP3Sb0icH2O_vpcIFpXw2MJKKnTQCA31sSdSQ-f9xoXeh1O-XEvfDfW8MT2hy6vbitBlEzWm30iFNvLoPKFLbxEJXe4P1HLcFUKXG2vWVvR5nAXh-WvezNqCtTnLxQyLJF0wznJOs1lXUIFIKRVNe5PzFcvqFuuML5omaxPaNPVMFjSmLObxIs45jbN5nuc1z3maxnyRxCskNzH2Qqq5Ut_6ubHrmXRuwCKlaZzMlKhRufE-plTjFkZlODC8mtki-EShWHITK-m8O6N46RUWTwcebjvUEE5SuKMP7LimyhtknQ1WFT_pd4h4eEUba75gEzo85ukIXY51_BsAAP__9sFSvw">