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;
}