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]

Re: PATCH: [gcc3.5 improvement branch] Very Simple constant propagation


> 
> On Mon, 2 Feb 2004, Geoff Keating wrote:
> > To match Caroline's results, you should use --enable-intermodule and
> > -O3, not just a regular bootstrap.
> >
> > The concern is compile-time performance on large-to-very-large
> > functions, like those created by intermodule inlining in SPEC.
> 
> Hi Geoff,
> 
> I'm still not seeing it.  Unfortunately, an --enable-intermodule
> bootstrap with BOOT_CFLAGS="-O3" currently fails for mainline
> during stage2 on i686-pc-linux-gnu due to "symbol already defined"
> errors from the assembler.  However, it is possible to analyse
> the behaviour of stage1/cc1 prior to this fatal failure:
> 
> Execution times (seconds)
>  garbage collection    :  60.92 ( 4%) usr   0.11 ( 1%) sys  61.03 ( 4%) wall
>  callgraph construction:   1.90 ( 0%) usr   0.03 ( 0%) sys   1.93 ( 0%) wall
>  callgraph optimization:   0.26 ( 0%) usr   0.03 ( 0%) sys   0.29 ( 0%) wall
>  cfg construction      :   3.15 ( 0%) usr   0.16 ( 1%) sys   3.28 ( 0%) wall
>  cfg cleanup           :  15.10 ( 1%) usr   0.20 ( 1%) sys  15.91 ( 1%) wall
>  CFG verifier          :  18.63 ( 1%) usr   0.05 ( 0%) sys  18.02 ( 1%) wall
>  trivially dead code   :   9.02 ( 1%) usr   0.01 ( 0%) sys   8.51 ( 1%) wall
>  life analysis         :  19.47 ( 1%) usr   0.02 ( 0%) sys  20.04 ( 1%) wall
>  life info update      :  15.59 ( 1%) usr   0.02 ( 0%) sys  15.45 ( 1%) wall
>  alias analysis        :   7.65 ( 1%) usr   0.01 ( 0%) sys   7.91 ( 1%) wall
>  register scan         :   6.17 ( 0%) usr   0.02 ( 0%) sys   6.25 ( 0%) wall
>  rebuild jump labels   :   2.28 ( 0%) usr   0.00 ( 0%) sys   2.14 ( 0%) wall
>  preprocessing         :   9.39 ( 1%) usr   2.41 (17%) sys  12.80 ( 1%) wall
>  lexical analysis      :   5.67 ( 0%) usr   3.65 (26%) sys   9.27 ( 1%) wall
>  parser                : 881.58 (63%) usr   2.83 (20%) sys 884.32 (62%) wall

Geoff,
I see I am not only one who get inadequately large amount of time spent
in parser with intermodule.  All the times goes into the final merging
of declarations across modules that is implemented with quadratic
complexity.  Do you think there is some chance to see this cut down to
resonable times?

I am also getting internal compiler error in dwarf2out later, but I've
failed to produce some testcase for this :(

Honza


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