https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99862
--- Comment #2 from Zhendong Su <zhendong.su at inf dot ethz.ch> --- [659] % gcctk -O1 -S -o O1.s small.c [660] % gcctk -O3 -S -o O3.s small.c [661] % [661] % wc O1.s O3.s 40 86 599 O1.s 68 138 1047 O3.s 108 224 1646 total [662] % [662] % grep foo O1.s [663] % grep foo O3.s call foo [664] % [664] % cat small.c extern void foo(void); int a, b, *c; static void d(int f) { if (f) foo(); } static int e(int f) { int g[] = {2, 8, 2, 8, 2, 8, 2, 8, 2, 8, 2}; int h[60]; h[0] = g != c; if (b) while (a) { int *i[1] = {&h[6]}; } return f; } static int *j(int *p) { return 0; } int main () { int m = e(0); d(m); int l[8]; if (j(l)) while (1) ; return 0; }