[cfe-dev] final distributed clang patch

Chris Lattner clattner at apple.com
Mon Jul 7 23:41:06 PDT 2008


On Jul 7, 2008, at 9:13 AM, Peter Neumark wrote:

> Hi!
> Here is the final patch for clang to support network distributed  
> compilation. (clang.patch file)
> There is also the server part attached. (the tar.gz file)

Hi Peter,

I haven't looked at your patch in detail, but some thoughts in no  
particular order:

1) it would be very useful to separate and submit the mechanical  
changes independent from any other  changes in your patch.  As Eli  
mentioned, duplicating the -E printer is not acceptable.  We should  
refactor that code into a form acceptable for your work independently  
of the rest of the patch.

2) It is generally bad form to have headers like NetSession.h #include  
system-specific stuff (like sys/socket or netinet/in.h)  these  
#includes should move to a .cpp file.  I like that you put the system  
specific code in a platform abstraction layer, it just needs to be a  
bit tighter.

3) I think we should have a high level discussion about how the new  
dist-cc implementation integrates with clang.  I had envisioned a  
different *driver* on the client side that shared code but was  
independent of the clang driver.  It doesn't make any sense to  
distribute many of the things the clang driver does (e.g. -Eonly, -ast- 
dump, etc).  If we can come to a design, I think a number of the  
changes you made would be unneeded.  This would basically amount to  
your "-dist-preprocesslocally" option, but would be simpler.  Once  
that is working well, more aggressive models can be attempted.

4) It would be good to have some HTML documentation for this,  
including end-user documentation on how to set it up and use it.  This  
should go in clang/docs.

5) Have you done any timings of this?

Thanks for working on this.  It is very exciting to see progress on  
this project!  I know a number of people who are very interested in  
this work,

-Chris



More information about the cfe-dev mailing list