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]
Other format: [Raw text]

Re: tree-ssa memory and compile-time regressions


On Thu, 8 Jan 2004, Jan Hubicka wrote:

> It seems to me that inlining just drives ssa-pre pass crazy.
> You can take a look into -dU dump, it contains information about what
> functions get inlinined where and the overall growth.
> In general the growth shall never exceed 100% so this seems to be either
> very nonlinear behaviour of something in the size of function or bug in
> code size estimation.

The patch I just posted "works", timing is now

Execution times (seconds)
 garbage collection    :   0.92 ( 3%) usr   0.00 ( 0%) sys   0.92 ( 3%) wall
 callgraph construction:   0.12 ( 0%) usr   0.00 ( 0%) sys   0.13 ( 0%) wall
 callgraph optimization:   0.11 ( 0%) usr   0.03 ( 1%) sys   0.14 ( 0%) wall
 cfg construction      :   0.16 ( 0%) usr   0.00 ( 0%) sys   0.16 ( 0%) wall
 cfg cleanup           :   0.27 ( 1%) usr   0.00 ( 0%) sys   0.27 ( 1%) wall
 trivially dead code   :   0.24 ( 1%) usr   0.00 ( 0%) sys   0.24 ( 1%) wall
 life analysis         :   0.96 ( 3%) usr   0.00 ( 0%) sys   0.96 ( 3%) wall
 life info update      :   0.53 ( 2%) usr   0.00 ( 0%) sys   0.53 ( 1%) wall
 alias analysis        :   0.55 ( 2%) usr   0.00 ( 0%) sys   0.55 ( 1%) wall
 register scan         :   0.13 ( 0%) usr   0.00 ( 0%) sys   0.13 ( 0%) wall
 rebuild jump labels   :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall
 preprocessing         :   0.40 ( 1%) usr   0.14 ( 6%) sys   0.54 ( 1%) wall
 parser                :   3.63 (11%) usr   0.90 (39%) sys   4.54 (12%) wall
 name lookup           :   2.13 ( 6%) usr   0.80 (35%) sys   2.96 ( 8%) wall
 integration           :   3.95 (12%) usr   0.04 ( 2%) sys   3.99 (11%) wall
 tree gimplify         :   0.45 ( 1%) usr   0.02 ( 1%) sys   0.47 ( 1%) wall
 tree eh               :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall
 tree CFG construction :   0.13 ( 0%) usr   0.00 ( 0%) sys   0.13 ( 0%) wall
 tree CFG cleanup      :   0.30 ( 1%) usr   0.00 ( 0%) sys   0.30 ( 1%) wall
 tree alias analysis   :   0.21 ( 1%) usr   0.00 ( 0%) sys   0.21 ( 1%) wall
 tree PHI insertion    :   0.04 ( 0%) usr   0.01 ( 0%) sys   0.05 ( 0%) wall
 tree SSA rewrite      :   0.24 ( 1%) usr   0.00 ( 0%) sys   0.24 ( 1%) wall
 tree SSA other        :   0.53 ( 2%) usr   0.01 ( 0%) sys   0.54 ( 1%) wall
 dominator optimization:   1.25 ( 4%) usr   0.02 ( 1%) sys   1.27 ( 3%) wall
 tree SRA              :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall
 tree CCP              :   0.18 ( 1%) usr   0.00 ( 0%) sys   0.18 ( 0%) wall
 tree PRE              :   0.92 ( 3%) usr   0.05 ( 2%) sys   0.97 ( 3%) wall
 tree DCE              :   0.28 ( 1%) usr   0.00 ( 0%) sys   0.28 ( 1%) wall
 tree SSA to normal    :   0.38 ( 1%) usr   0.01 ( 0%) sys   0.39 ( 1%) wall
 callgraph verifier    :   1.87 ( 5%) usr   0.01 ( 0%) sys   1.88 ( 5%) wall
 dominance frontiers   :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall
 expand                :   1.08 ( 3%) usr   0.01 ( 0%) sys   1.11 ( 3%) wall
 varconst              :   0.07 ( 0%) usr   0.01 ( 0%) sys   0.08 ( 0%) wall
 jump                  :   0.11 ( 0%) usr   0.03 ( 1%) sys   0.15 ( 0%) wall
 CSE                   :   1.46 ( 4%) usr   0.00 ( 0%) sys   1.46 ( 4%) wall
 global CSE            :   4.47 (13%) usr   0.04 ( 2%) sys   4.51 (12%) wall
 loop analysis         :   0.71 ( 2%) usr   0.07 ( 3%) sys   0.79 ( 2%) wall
 bypass jumps          :   0.21 ( 1%) usr   0.01 ( 0%) sys   0.22 ( 1%) wall
 CSE 2                 :   0.72 ( 2%) usr   0.00 ( 0%) sys   0.72 ( 2%) wall
 branch prediction     :   0.34 ( 1%) usr   0.01 ( 0%) sys   0.35 ( 1%) wall
 flow analysis         :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall
 combiner              :   0.49 ( 1%) usr   0.00 ( 0%) sys   0.50 ( 1%) wall
 if-conversion         :   0.07 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall
 regmove               :   0.12 ( 0%) usr   0.00 ( 0%) sys   0.12 ( 0%) wall
 local alloc           :   0.49 ( 1%) usr   0.01 ( 0%) sys   0.50 ( 1%) wall
 global alloc          :   1.03 ( 3%) usr   0.00 ( 0%) sys   1.04 ( 3%) wall
 reload CSE regs       :   0.37 ( 1%) usr   0.00 ( 0%) sys   0.37 ( 1%) wall
 flow 2                :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall
 if-conversion 2       :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall
 peephole 2            :   0.05 ( 0%) usr   0.01 ( 0%) sys   0.08 ( 0%) wall
 rename registers      :   0.07 ( 0%) usr   0.01 ( 0%) sys   0.09 ( 0%) wall
 scheduling 2          :   0.46 ( 1%) usr   0.00 ( 0%) sys   0.46 ( 1%) wall
 reorder blocks        :   0.06 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall
 shorten branches      :   0.08 ( 0%) usr   0.02 ( 1%) sys   0.10 ( 0%) wall
 reg stack             :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall
 final                 :   0.16 ( 0%) usr   0.00 ( 0%) sys   0.17 ( 0%) wall
 rest of compilation   :   0.23 ( 1%) usr   0.00 ( 0%) sys   0.24 ( 1%) wall
 TOTAL                 :  34.02             2.28            36.73

but dunno, what I disabled with the patch either ;)

Richard.


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