------- Comment #4 from pixel at mandriva dot com 2007-07-11 10:23 ------- i forgot to say it doesn't occur without -O, and occurs with -O, -O2
/usr/lib/gcc/i586-mandriva-linux-gnu/4.2.1/cc1 -O fail.c _create Analyzing compilation unitPerforming interprocedural optimizations Assembling functions: _create Execution times (seconds) callgraph construction: 0.14 ( 1%) usr 0.01 ( 0%) sys 0.14 ( 0%) wall 0 kB ( 0%) ggc callgraph optimization: 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc ipa reference : 0.07 ( 0%) usr 0.02 ( 0%) sys 0.10 ( 0%) wall 428 kB ( 1%) ggc preprocessing : 0.27 ( 1%) usr 0.23 ( 2%) sys 0.68 ( 2%) wall 8293 kB (25%) ggc lexical analysis : 0.13 ( 1%) usr 0.60 ( 4%) sys 0.84 ( 3%) wall 0 kB ( 0%) ggc parser : 0.64 ( 3%) usr 0.43 ( 3%) sys 0.84 ( 3%) wall 18586 kB (57%) ggc tree find ref. vars : 0.02 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 1905 kB ( 6%) ggc tree PTA : 15.92 (86%) usr 10.73 (72%) sys 26.67 (80%) wall 5 kB ( 0%) ggc tree alias analysis : 0.91 ( 5%) usr 2.77 (19%) sys 3.65 (11%) wall 0 kB ( 0%) ggc tree SSA incremental : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.02 ( 0%) wall 0 kB ( 0%) ggc tree SRA : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc expand : 0.10 ( 1%) usr 0.00 ( 0%) sys 0.11 ( 0%) wall 7 kB ( 0%) ggc varconst : 0.05 ( 0%) usr 0.02 ( 0%) sys 0.01 ( 0%) wall 643 kB ( 2%) ggc global alloc : 0.00 ( 0%) usr 0.01 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc symout : 0.01 ( 0%) usr 0.00 ( 0%) sys 0.00 ( 0%) wall 0 kB ( 0%) ggc TOTAL : 18.57 14.84 33.41 32596 kB ps: the verbose output is a little garbled, this trivial patch on branches/gcc-4_2-branch fixes it: --- gcc/cgraphunit.c (revision 126511) +++ gcc/cgraphunit.c (working copy) @@ -1544,7 +1544,7 @@ timevar_push (TV_CGRAPHOPT); if (!quiet_flag) - fprintf (stderr, "Performing interprocedural optimizations\n"); + fprintf (stderr, "\nPerforming interprocedural optimizations\n"); cgraph_function_and_variable_visibility (); if (cgraph_dump_file) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32723