This is the mail archive of the gcc@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]

Re: Big find_cross_jump performance regression.


 
> Must be something depending on the machine description. Could you try with
> -Os? I get normal results. Even for -O2 with a profiled compiler:
> % ./cc1 -O2 ./new_t-c-2.i

With -Os I get the usual stuff:

popov-223% /export/u11/lucier/programs/egcs/objdir/gcc/cc1 -fpic -fno-math-errno -mieee -mcpu=ev6 -Os _t-c-2.i
 __copysignf copysignf __copysign copysign __fabsf fabsf __fabs fabs __floorf __floor floorf floor __fdimf fdimf __fdim fdim ___H__20___t_2d_c_2d_2 {GC 41768k -> 8032k} {GC 10444k -> 7981k} {GC 11187k -> 8463k} {GC 12507k -> 9358k} {GC 14604k -> 9711k} ___init_proc {GC 25415k -> 2100k} ____20___t_2d_c_2d_2
Execution times (seconds)
 garbage collection    :   0.44 ( 1%) usr   0.00 ( 0%) sys   0.44 ( 1%) wall
 parser                :   2.61 ( 4%) usr   0.14 ( 8%) sys   2.75 ( 4%) wall
 varconst              :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall
 integration           :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall
 jump                  :  15.63 (23%) usr   0.07 ( 4%) sys  15.75 (23%) wall
 CSE                   :   0.81 ( 1%) usr   0.00 ( 0%) sys   0.81 ( 1%) wall
 global CSE            :  32.70 (48%) usr   0.30 (17%) sys  33.00 (47%) wall
 loop analysis         :   0.08 ( 0%) usr   0.00 ( 0%) sys   0.08 ( 0%) wall
 CSE 2                 :   0.65 ( 1%) usr   0.00 ( 0%) sys   0.66 ( 1%) wall
 flow analysis         :   0.73 ( 1%) usr   0.01 ( 1%) sys   0.75 ( 1%) wall
 combiner              :   0.67 ( 1%) usr   0.00 ( 0%) sys   0.68 ( 1%) wall
 if-conversion         :   0.21 ( 0%) usr   0.01 ( 1%) sys   0.23 ( 0%) wall
 regmove               :   0.23 ( 0%) usr   0.00 ( 0%) sys   0.23 ( 0%) wall
 scheduling            :   3.01 ( 4%) usr   0.68 (38%) sys   3.70 ( 5%) wall
 local alloc           :   0.52 ( 1%) usr   0.00 ( 0%) sys   0.52 ( 1%) wall
 global alloc          :   0.88 ( 1%) usr   0.04 ( 2%) sys   0.92 ( 1%) wall
 reload CSE regs       :   4.32 ( 6%) usr   0.00 ( 0%) sys   4.32 ( 6%) wall
 flow 2                :   0.65 ( 1%) usr   0.00 ( 1%) sys   0.66 ( 1%) wall
 if-conversion 2       :   0.13 ( 0%) usr   0.00 ( 0%) sys   0.14 ( 0%) wall
 peephole 2            :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall
 scheduling 2          :   2.76 ( 4%) usr   0.45 (25%) sys   3.21 ( 5%) wall
 shorten branches      :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall
 final                 :   0.31 ( 0%) usr   0.00 ( 0%) sys   0.31 ( 0%) wall
 symout                :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall
 rest of compilation   :   0.34 ( 1%) usr   0.00 ( 0%) sys   0.34 ( 1%) wall
 TOTAL                 :  67.88             1.78            69.71

and with -O2 I get the usual stuff:

popov-232% /export/u11/lucier/programs/egcs/objdir/gcc/cc1 -fpic -fno-math-errno -mieee -mcpu=ev6 -O2 _t-c-2.i
 __copysignf copysignf __copysign copysign __fabsf fabsf __fabs fabs __floorf __floor floorf floor __fdimf fdimf __fdim fdim ___H__20___t_2d_c_2d_2 {GC 41768k -> 8032k} {GC 10503k -> 8011k} {GC 11513k -> 8455k} {GC 12500k -> 9350k} {GC 14653k -> 9717k} ___init_proc {GC 25365k -> 2100k} ____20___t_2d_c_2d_2
Execution times (seconds)
 garbage collection    :   0.45 ( 0%) usr   0.00 ( 0%) sys   0.45 ( 0%) wall
 parser                :   2.62 ( 3%) usr   0.19 (11%) sys   2.82 ( 3%) wall
 varconst              :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall
 integration           :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall
 jump                  :  11.93 (13%) usr   0.07 ( 4%) sys  12.05 (13%) wall
 CSE                   :   0.81 ( 1%) usr   0.00 ( 0%) sys   0.81 ( 1%) wall
 global CSE            :  58.98 (65%) usr   0.27 (15%) sys  59.54 (64%) wall
 loop analysis         :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.09 ( 0%) wall
 CSE 2                 :   0.67 ( 1%) usr   0.00 ( 0%) sys   0.67 ( 1%) wall
 flow analysis         :   0.77 ( 1%) usr   0.01 ( 1%) sys   0.83 ( 1%) wall
 combiner              :   0.69 ( 1%) usr   0.00 ( 0%) sys   0.70 ( 1%) wall
 if-conversion         :   0.22 ( 0%) usr   0.01 ( 1%) sys   0.23 ( 0%) wall
 regmove               :   0.24 ( 0%) usr   0.00 ( 0%) sys   0.24 ( 0%) wall
 scheduling            :   2.85 ( 3%) usr   0.51 (28%) sys   3.36 ( 4%) wall
 local alloc           :   0.55 ( 1%) usr   0.00 ( 0%) sys   0.55 ( 1%) wall
 global alloc          :   0.89 ( 1%) usr   0.02 ( 1%) sys   0.92 ( 1%) wall
 reload CSE regs       :   4.44 ( 5%) usr   0.04 ( 2%) sys   4.48 ( 5%) wall
 flow 2                :   0.69 ( 1%) usr   0.01 ( 1%) sys   0.71 ( 1%) wall
 if-conversion 2       :   0.12 ( 0%) usr   0.01 ( 1%) sys   0.13 ( 0%) wall
 peephole 2            :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall
 scheduling 2          :   3.35 ( 4%) usr   0.62 (34%) sys   3.97 ( 4%) wall
 shorten branches      :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall
 final                 :   0.34 ( 0%) usr   0.00 ( 0%) sys   0.35 ( 0%) wall
 symout                :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall
 rest of compilation   :   0.35 ( 0%) usr   0.00 ( 0%) sys   0.38 ( 0%) wall
 TOTAL                 :  91.24             1.81            93.46

It is only with -O1 that I have the problem.

Brad

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