If you are writing a major extension to GCC, such as a port to a new computer, a new language, or a major rewrite of some optimization passes, please keep in mind the importance of keeping other developers informed. Part of being a good cooperating member of the GCC development team is the responsibility to consider what the other developers need in order to work effectively.
Nobody likes to do a lot of work and find it was duplicated effort.
If you are thinking of taking a contract to develop changes under a temporary delayed-release agreement, please negotiate the agreement so that you can give progress reports before the release date, even though you cannot release the code itself. Also please arrange so that, when the agreed-on date comes, you can release whatever part of the job you succeeded in doing, even if you have not succeeded in finishing it. Someone else may be able to finish the job. Many people have done GCC ports on their own, to a wide variety of processors, without much communication with the GCC development team. However, many of those ports have been lost over time, or have proven very hard to integrate.