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: GCC-4.0 vs GCC-3.3.6 ia32 -Os: code size increase from 261 to5339 bytes


On Fri, 2005-05-20 at 17:44 +0200, Giovanni Bajo wrote:
> Etienne Lorrain <etienne_lorrain@yahoo.fr> wrote:
> 
> > etienne@cygne:~/projet/gujin$ gcc -Os tst.c -c -o tst.o && size tst.o
> >    text    data     bss     dec     hex filename
> >     261       0       0     261     105 tst.o
> > etienne@cygne:~/projet/gujin$ ../toolchain/bin/gcc -Os tst.c -c -o tst.o
> &&
> > size tst.o
> >    text    data     bss     dec     hex filename
> >    5339       0       0    5339    14db tst.o
> > etienne@cygne:~/projet/gujin$
> 
> It's another issue with SRA and -Os. With an old 4.1, I have:
> 
> $ ./xgcc -c -Os -B. btst.c && size btst.o
>    text    data     bss     dec     hex filename
>    5339       0       0    5339    14db btst.o
> $ ./xgcc -c -Os -fno-tree-sra -B. btst.c && size btst.o
>    text    data     bss     dec     hex filename
>     224       0       0     224      e0 btst.o
> 
> So we're actually better than 3.3, after we disable -ftree-sra. I guess SRA
> should be tuned (disabled?) for -Os.

Structure aliasing should be able to make up for turning off SRA, i'm
guessing, at least as far as propagating constants and DCE is concerned.

You could test this by seeing if -fno-tree-sra -fno-tree-salias produces
an increased code size over the above.

> 
> Please, do file a bugreport.



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