This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

reorder_block space requirements (was Re: test patch for computed gotos)


> It would be *great* to have this patch installed and -freorder-blocks
> actually enabled at -O1, since this would put the computed gotos back
> to their original spots.

Ah, maybe having -freorder-blocks enabled at -O1 would be premature ...
I tried it on all.i, and cc1 took almost 1GB of virtual memory; since I
have only 1GB or so of RAM in my machine, it led to lots of swapping
and high system times:

popov-115% /export/home/lucier/programs/gcc/objdir/gcc/cc1 -fPIC -O1 -fno-trapping-math -fomit-frame-pointer -mieee -fno-math-errno -mcpu=ev6 -fschedule-insns2 -fno-strict-aliasing -freorder-blocks all.i
 __copysignf copysignf __copysign copysign __fabsf fabsf __fabs fabs __floorf __floor floorf floor ___H__20_all ___init_proc ____20_all
Execution times (seconds)
 cfg construction      :   1.18 ( 1%) usr   0.42 ( 0%) sys   1.60 ( 0%) wall
 cfg cleanup           :  13.96 ( 7%) usr   0.56 ( 0%) sys  14.52 ( 1%) wall
 trivially dead code   :   1.66 ( 1%) usr   0.00 ( 0%) sys   1.66 ( 0%) wall
 life analysis         :  14.63 ( 7%) usr   0.12 ( 0%) sys  14.75 ( 1%) wall
 life info update      :   7.08 ( 4%) usr  46.26 ( 4%) sys  54.39 ( 4%) wall
 alias analysis        :   1.26 ( 1%) usr   0.34 ( 0%) sys   1.60 ( 0%) wall
 register scan         :   0.73 ( 0%) usr   0.00 ( 0%) sys   0.73 ( 0%) wall
 rebuild jump labels   :   0.39 ( 0%) usr   0.00 ( 0%) sys   0.40 ( 0%) wall
 preprocessing         :   1.21 ( 1%) usr   2.31 ( 0%) sys   3.72 ( 0%) wall
 lexical analysis      :   1.67 ( 1%) usr   1.54 ( 0%) sys   3.30 ( 0%) wall
 parser                :   5.12 ( 3%) usr  12.48 ( 1%) sys  17.96 ( 1%) wall
 expand                :   1.77 ( 1%) usr  18.74 ( 2%) sys  21.33 ( 2%) wall
 varconst              :   0.29 ( 0%) usr   3.21 ( 0%) sys   3.66 ( 0%) wall
 integration           :   0.49 ( 0%) usr   0.03 ( 0%) sys   0.53 ( 0%) wall
 jump                  :   0.21 ( 0%) usr   0.24 ( 0%) sys   0.47 ( 0%) wall
 CSE                   :   2.64 ( 1%) usr   3.76 ( 0%) sys   6.54 ( 0%) wall
 loop analysis         :   0.13 ( 0%) usr   0.00 ( 0%) sys   0.13 ( 0%) wall
 branch prediction     :  10.05 ( 5%) usr   0.03 ( 0%) sys  10.16 ( 1%) wall
 flow analysis         :   0.22 ( 0%) usr   0.01 ( 0%) sys   0.26 ( 0%) wall
 combiner              :   5.38 ( 3%) usr   0.07 ( 0%) sys   5.45 ( 0%) wall
 if-conversion         :   5.82 ( 3%) usr   0.01 ( 0%) sys   5.82 ( 0%) wall
 local alloc           :   1.98 ( 1%) usr   0.59 ( 0%) sys   2.59 ( 0%) wall
 global alloc          :   6.94 ( 3%) usr   0.74 ( 0%) sys   7.70 ( 1%) wall
 reload CSE regs       :  55.24 (28%) usr   3.87 ( 0%) sys  59.17 ( 4%) wall
 flow 2                :   0.44 ( 0%) usr   0.07 ( 0%) sys   0.51 ( 0%) wall
 if-conversion 2       :  11.24 ( 6%) usr   0.12 ( 0%) sys  11.36 ( 1%) wall
 rename registers      :   4.43 ( 2%) usr   0.18 ( 0%) sys   4.60 ( 0%) wall
 scheduling 2          :   4.14 ( 2%) usr 239.38 (22%) sys 277.61 (20%) wall
 machine dep reorg     :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall
 reorder blocks        :  24.00 (12%) usr  42.49 ( 4%) sys  80.78 ( 6%) wall
 shorten branches      :   0.44 ( 0%) usr   1.01 ( 0%) sys   1.51 ( 0%) wall
 final                 :   4.36 ( 2%) usr 142.77 (13%) sys 154.28 (11%) wall
 rest of compilation   :  10.02 ( 5%) usr 556.84 (52%) sys 599.88 (44%) wall
 TOTAL                 : 199.14          1079.23          1370.09

And without -freorder-blocks:

popov-116% /export/home/lucier/programs/gcc/objdir/gcc/cc1 -fPIC -O1 -fno-trapping-math -fomit-frame-pointer -mieee -fno-math-errno -mcpu=ev6 -fschedule-insns2 -fno-strict-aliasing all.i
 __copysignf copysignf __copysign copysign __fabsf fabsf __fabs fabs __floorf __floor floorf floor ___H__20_all ___init_proc ____20_all
Execution times (seconds)
 cfg construction      :   1.18 ( 1%) usr   0.43 (14%) sys   1.61 ( 1%) wall
 cfg cleanup           :   4.71 ( 3%) usr   0.00 ( 0%) sys   4.71 ( 3%) wall
 trivially dead code   :   1.66 ( 1%) usr   0.00 ( 0%) sys   1.66 ( 1%) wall
 life analysis         :  15.05 (10%) usr   0.01 ( 0%) sys  15.05 (10%) wall
 life info update      :   6.10 ( 4%) usr   0.00 ( 0%) sys   6.10 ( 4%) wall
 alias analysis        :   1.24 ( 1%) usr   0.01 ( 0%) sys   1.25 ( 1%) wall
 register scan         :   0.73 ( 1%) usr   0.00 ( 0%) sys   0.73 ( 0%) wall
 rebuild jump labels   :   0.39 ( 0%) usr   0.00 ( 0%) sys   0.39 ( 0%) wall
 preprocessing         :   1.23 ( 1%) usr   0.30 (10%) sys   1.59 ( 1%) wall
 lexical analysis      :   1.70 ( 1%) usr   0.67 (22%) sys   2.33 ( 2%) wall
 parser                :   5.25 ( 4%) usr   0.53 (17%) sys   5.79 ( 4%) wall
 expand                :   1.76 ( 1%) usr   0.08 ( 3%) sys   1.83 ( 1%) wall
 varconst              :   0.28 ( 0%) usr   0.01 ( 0%) sys   0.29 ( 0%) wall
 integration           :   0.48 ( 0%) usr   0.01 ( 0%) sys   0.49 ( 0%) wall
 jump                  :   0.21 ( 0%) usr   0.00 ( 0%) sys   0.21 ( 0%) wall
 CSE                   :   2.66 ( 2%) usr   0.00 ( 0%) sys   2.66 ( 2%) wall
 loop analysis         :   0.13 ( 0%) usr   0.00 ( 0%) sys   0.13 ( 0%) wall
 branch prediction     :  10.35 ( 7%) usr   0.03 ( 1%) sys  10.38 ( 7%) wall
 flow analysis         :   0.23 ( 0%) usr   0.00 ( 0%) sys   0.22 ( 0%) wall
 combiner              :   5.35 ( 4%) usr   0.06 ( 2%) sys   5.41 ( 4%) wall
 if-conversion         :   5.86 ( 4%) usr   0.01 ( 0%) sys   5.87 ( 4%) wall
 local alloc           :   1.95 ( 1%) usr   0.02 ( 1%) sys   1.97 ( 1%) wall
 global alloc          :   6.54 ( 4%) usr   0.55 (18%) sys   7.08 ( 5%) wall
 reload CSE regs       :  57.70 (40%) usr   0.06 ( 2%) sys  57.74 (39%) wall
 flow 2                :   0.44 ( 0%) usr   0.06 ( 2%) sys   0.50 ( 0%) wall
 if-conversion 2       :   0.82 ( 1%) usr   0.00 ( 0%) sys   0.82 ( 1%) wall
 rename registers      :   4.39 ( 3%) usr   0.02 ( 1%) sys   4.41 ( 3%) wall
 scheduling 2          :   3.55 ( 2%) usr   0.05 ( 2%) sys   3.60 ( 2%) wall
 shorten branches      :   0.41 ( 0%) usr   0.00 ( 0%) sys   0.41 ( 0%) wall
 final                 :   1.47 ( 1%) usr   0.04 ( 1%) sys   1.50 ( 1%) wall
 rest of compilation   :   2.09 ( 1%) usr   0.09 ( 3%) sys   2.18 ( 1%) wall
 TOTAL                 : 145.91             3.05           148.97


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]