Reducing code size on AM30 and AM33

Alexandre Oliva aoliva@cygnus.com
Fri Apr 21 05:19:00 GMT 2000


According to Jeff Law, the main concern in the mn10300 port is code
size.  All costs are defined so as to generate smaller code.  I've
been playing with it a bit, and found out we can obtain significant
reductions in code size by defining an ADDRESS_COST function.  Here's
a summary of the changes in the size of the `.text' section in each
library.  The first number is the original size, the second is the
size after the patch.  A `v' in the beginning of the line indicates
the size decreased; a `^' indicates it increased.

v gcc/am33/libgcc.a 27587 27000
v gcc/libgcc.a 27627 27024
v mn10300-elf/am33/libiberty/libiberty.a 28031 27978
v mn10300-elf/am33/libio/libio.a 24547 24535
v mn10300-elf/am33/libio/libiostream.a 66798 64724
v mn10300-elf/am33/libstdc++/libstdc++.a 73722 70646
v mn10300-elf/am33/newlib/libc.a 48292 48235
v mn10300-elf/am33/newlib/libc/libc.a 46845 46788
v mn10300-elf/am33/newlib/libc/misc/lib.a 795 751
v mn10300-elf/am33/newlib/libc/stdio/lib.a 17331 17330
v mn10300-elf/am33/newlib/libc/syscalls/lib.a 364 352
v mn10300-elf/am33/newlib/libg.a 48292 48235
v mn10300-elf/libiberty/libiberty.a 27975 27922
v mn10300-elf/libio/libio.a 23738 23728
v mn10300-elf/libio/libiostream.a 65720 63773
v mn10300-elf/libstdc++/libstdc++.a 72645 69687
v mn10300-elf/newlib/libc.a 46972 46946
v mn10300-elf/newlib/libc/libc.a 45564 45538
v mn10300-elf/newlib/libc/misc/lib.a 779 762
^ mn10300-elf/newlib/libc/stdio/lib.a 17078 17080
v mn10300-elf/newlib/libc/syscalls/lib.a 363 352
v mn10300-elf/newlib/libg.a 46972 46946

Looks good, eh?  Ok to install?

-- 
Alexandre Oliva    Enjoy Guaraná, see http://www.ic.unicamp.br/~oliva/
Cygnus Solutions, a Red Hat company        aoliva@{redhat, cygnus}.com
Free Software Developer and Evangelist    CS PhD student at IC-Unicamp
oliva@{lsd.ic.unicamp.br, gnu.org}   Write to mailing lists, not to me


More information about the Gcc-patches mailing list