http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16856
Steven Bosscher <steven at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |steven at gcc dot gnu.org Resolution| |FIXED --- Comment #2 from Steven Bosscher <steven at gcc dot gnu.org> 2011-05-22 15:24:48 UTC --- $ cat t.c static int bar; static long baz; int foo (_Bool x) { int y; if (x) { ++baz; y = bar; } else { y = bar; ++baz; } return y; } $ ./cc1 -quiet -m32 -O2 t.c -fdump-tree-optimized $ cat t.c.143t.optimized ;; Function foo (foo) foo (_Bool x) { long int baz.1; long int baz.0; <bb 2>: if (x_2(D) != 0) goto <bb 3>; else goto <bb 4>; <bb 3>: baz.0_3 = baz; baz.1_4 = baz.0_3 + 1; baz = baz.1_4; goto <bb 5>; <bb 4>: baz.0_7 = baz; baz.1_8 = baz.0_7 + 1; baz = baz.1_8; <bb 5>: return 0; } $ cat t.s .file "t.c" .text .p2align 4,,15 .globl foo .type foo, @function foo: .LFB0: .cfi_startproc addl $1, baz xorl %eax, %eax ret .cfi_endproc .LFE0: .size foo, .-foo .local baz .comm baz,4,4 .ident "GCC: (GNU) 4.6.0 20110312 (experimental) [trunk revision 170907]" .section .note.GNU-stack,"",@progbits