This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: -O0 dead code
- To: Richard Henderson <rth at cygnus dot com>
- Subject: Re: -O0 dead code
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Tue, 08 Aug 2000 14:15:36 -0600
- cc: Mark Mitchell <mark at codesourcery dot com>, gcc at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Reply-To: law at cygnus dot com
In message <20000808125539.A27334@cygnus.com>you write:
> A little statistics to go with the patch. In both cases, stage1 was
> built with -O1 with some random installed compiler. Then I timed
> stage1 building stage2 cc1 with -O0 -g0.
>
> BEFORE AFTER
> user time 449 394
> sys time 32 32
> wall time 2:07 1:55
> text size 12685575 10433439
>
> After you get over gawking at how large unoptimized ia64 binaries
> are, note that we saved 17% on the size of the binary. Over 2MB.
>
> Oh, and I have in fact verified that user dead code hangs around.
>
>
> r~
>
> * flow.c (life_analysis): Only turn off PROP_LOG_LINKS and
> PROP_AUTOINC at -O0. Don't collect alias info at -O0.
> (init_propagate_block_info): Don't kill memory stores at -O0.
> (mark_set_1, mark_used_regs): Likewise.
You've got to love the (old) mentality that doing nothing at -O0 was the
right thing to do because it made the compiler faster.
Needless so say I'm all for the change :-)
jeff