-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Am 10.01.2011 20:57, schrieb Maarten Brock:
> Philipp,
> 
> Why not just commit this to subversion? We are nowhere 
> near a release so this should not hurt too much. And you 
> even claim it passes all current regression tests. I see 
> no reason to keep this separate.
> 
> Maarten

There are some problems:

1) It uses C++, and the boost libraries. This creates build dependencies
on a C++ compiler and boost. IMO this should be discussed on sdcc-devel
first.

2) There is lots of ugly glue between sdcc and the new register
allocator. This should be cleaned up (including fixing #3152684 and
#3150686).

3) IMO it should see some testing first since it's such a huge beast
(larger than the rest of the Z80 port combined).

4) The register allocator is still rather incomplete. E.g. it currently
uses only the 4 registers bc and de. It uses the old register allocator
as a kind of preprocessor for hl and a.

5) There still are many problems with this register allocator, which
don't result in bad code being generated, but make it worse than it
could be.

6) The underlying ideas are much more powerful than what this first
implementation provides. I've placed slides of a talk I gave at the
universities of Frankfurt and Passau at
http://colecovision.eu/stuff/Vortrag-Register-2010-11-6.pdf This
implementation is mostly just a first prototype, and I intend to rewrite
most of it.

7) The underlying ideas are not accepted in the compiler construction
community. I submitted a paper to the Compiler Construction 2010
conference, which was rejected rather harshly: "[...] this paper will
remain, yet another time, a purely theoretical paper with no influence
on register allocation.", "[...] results will remain uncited or unused
[...]", "[...] impractical for use in a real compiler.", "[...] the
algorithm is only of theoretical value.", etc.

8) Peephole rules probably should be changed to reflect changes in code
generated by sdcc.

Nevertheless: A full implementation will take a lot more time, and the
current one is already a huge improvement over the current register
allocator (and thus is valuable in itself). It probably should be
committed after some more clean-up.

Philipp
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAk0rcjsACgkQbtUV+xsoLpoH2ACfR64OJ0JmLJl4I9m1nQgpm/5S
olEAn0q9E94g5JuErgLomE9Cxi9LIhQB
=OGst
-----END PGP SIGNATURE-----

------------------------------------------------------------------------------
Gaining the trust of online customers is vital for the success of any company
that requires sensitive data to be transmitted over the Web.   Learn how to 
best implement a security strategy that keeps consumers' information secure 
and instills the confidence they need to proceed with transactions.
http://p.sf.net/sfu/oracle-sfdevnl 
_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to