Dear users of the Z80 port,

I've been working on a new register allocator for some months.

The current protoype already generates better code than current 'normal'
sdcc in most cases. A code size reduction of about 10% seems typical.

A small benchmark can be found at
https://sourceforge.net/apps/trac/sdcc/wiki/Philipp%27s%20TODO%20list,
where the rightmost column gives the code sizes for the new allocator.
As you can see, with the new allocator sdcc in most cases generates
smaller code than all other compilers, including the last HITECH-C compiler.

You can download sdcc with the new allocator from
http://colecovision.eu/stuff/sdcc-or-2011-4-6.tar.gz. I have worked on
fixing bugs for about a week; all regression tests complete without
errors, and my own Z80 applications work when compiled with this version.

However it's likely that there are still lots of bugs, thus it needs
testing. Please test this version of sdcc on your code, and tell me
about any problems you encounter.

A short description of the command line options you might want to try:

--optralloc-exact-cost : Use an exact cost function. This should
generate slightly better code than without this option.

--max-allocs-per-node : Higher values result in better code, at the cost
of longer compile time (and higher memory usage during compilation). The
default value is 10000.

--opt-code-size : Optimize for code size instead of speed. Currently has
a relatively small impact on the code generated.

--no-peep : Disables the peephole optimizer. When there's a problem that
goes away when using --no-peep it's most likely a bug in the peephole
optimizer or the peephole rules.

Philipp

------------------------------------------------------------------------------
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to