[ I foolishly sent this with the document as an attachment... hopefully it gets rejected and anyone interested can simply download the document from the wiki..]

Over the past couple of months, I've slowly been putting together an action plan to help modernize GCC's source base. We've had various ideas put forth over the years, and a few of the more meritorious ones have been incorporated. My primary goal is to disentangle the front end from the middle/back ends, giving us better control over their data structures.

The biggest challenge is having an executable plan which allows the source to be updated incrementally. Ie, we need a way to get from 'Here' to 'There' that does not impact ongoing normal activities, nor noticeably affect the performance of the compiler. This is a huge effort and it will require a large time commitment on my part to see it through.

I've attached a link to a document which outlines my proposal. Since putting it together, I've performed a couple of actual file conversions (albeit minor ones) beyond the simple examples I used in the document from the original proof of concept. I've been refining some of the actual implementation details and logged the various design decisions that I encounter for later discussions This document is a work in progress, and should be considered a strategic guide rather than an implementation bible.

There will be a BOF at Cauldron for anyone interested in discussing aspects of this. I should also have a list of the interesting issues I've encountered for discussion there.

Im on vacation for about half the time between now and Cauldron, so I wanted to get this out now. As for a time line, I wont be able to get seriously started on it for a couple of months since I have the C11 _Atomic and gimple-atomic implementations to get delivered. That gives us a reasonable amount of time to address concerns and sort out the overall approach as well other nitty gritty before any serious work commences. Once underway, I expect there would be plenty to do for anyone else interesting in volunteering some time.

Here's the proposal document... happy reading! Feedback is welcome.

I hope this link will work  :-)...
http://gcc.gnu.org/wiki/AndrewMacLeod?action=AttachFile&do=view&target=gccrestructureplan2.1.odt

Highlander

Reply via email to