[cfe-dev] distributed clang patch

Csaba Hruska csaba.hruska at gmail.com
Thu Jul 10 10:56:25 PDT 2008


2008/7/10 Ted Kremenek <kremenek at apple.com>:

>
> On Jul 10, 2008, at 9:53 AM, Chris Lattner wrote:
>
>  There is one more requirement if we follow this. Most of
>>> ASTConsumers have one output stream or file, but there is
>>> StaticAnalysis what is make a couple of HTML files and because
>>> distcc static analysis is a big speedup, we must support this
>>> astconsumer, so we have to capture its output somehow.
>>>
>>
>> I would worry about this one later.  I think it would be good to focus
>> on distributing the other ASTConsumers before the static analysis one.
>>
>
> I think the solution for the AnalysisConsumer is two steps:
>
> 1) Factor out the creation of the HTMLDiagnostics object used for HTML
> rendering out of AnalysisConsumer.  Instead, the ctor for AnalysisConsumer
> takes a PathDiagnosticClient* (which in the regular driver is an
> HTMLDiagnostics object).  I planned on doing this anyway.
>
> 2) In the distcc client, instead of creating an HTMLDiagnostics object,
> create a different PathDiagnosticClient object that just batches the
> diagnostics (this doesn't exist yet, but is easy to implement).  The distcc
> client can then send the diagnostics back to the original client, and not
> have to worry about HTML rendering.
>
> There will also probably be some ugly details, but ultimately the distcc
> client shouldn't care how the final analysis results are consumed by the
> end-user.
>
Right.
I've started working on putting all reusable thing from Driver directory
into a separated library called driver. (in my opinion every app's dir name
should be same as app name. clang (ordinary local driver),
distclangserver(distcc server), distclang(distcc client)). The dist app
names should be more simple if anyone can suggest greatet descriptive names.
:)
About supporting other compilers by distributed clang: Ted, please describe
you ideas, because i have no idea what's the point of this thing.

I'd like to put these things into the driver lib: almost everything from
Driver dir and some functions from clang.cpp.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20080710/8a64996e/attachment.html>


More information about the cfe-dev mailing list