-----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