[cfe-dev] [RFC] Adding Thread Role Analysis

Aaron Ballman aaron at aaronballman.com
Mon Jul 8 16:35:53 PDT 2013


On Mon, Jul 8, 2013 at 3:54 PM, Delesley Hutchins <delesley at google.com> wrote:
>
> I am dealing with a family emergency right now, so I apologize for being
> somewhat brief.
>
>> Every legal program in every programming language can be mapped into
>> assembly code...
>
> To draw a different analogy that is perhaps somewhat more relevant to this
> list than either asm or screwdrivers, there are many different languages
> that can be mapped into LLVM IR.
> Is LLVM an ideal IR for every language?  Obviously not.  It's too focused on
> C/C++, has terrible GC support, no continuations, etc.  And yet, the
> benefits of having a common compiler intermediate language are enormous
> (reuse of optimization passes, back-ends, etc.)
> As a result, many language implementers have chosen to work within the
> limitations of the LLVM IR, even if it is not a perfect fit.
>
> You and I seem to have fundamentally different goals here.  My goal is to
> collaborate, and create a common analysis framework for thread safety.  I
> would like to identify those areas where the existing framework is not
> sufficient to meet your needs, and to extend the existing framework until it
> does meet your needs.
>
> Your goal seems to be to avoid collaboration.  If that is indeed your goal,
> then perhaps a separate stand-alone tool or a clang plugin would be a more
> suitable approach; that would give you much greater freedom to implement
> your personal vision of what the analysis should look like.

I'm really sorry that we've given this impression, because that's
definitely not our goal.  Quite the opposite, actually!  We want to
reuse as much infrastructure as possible while exposing a different
metaphor to the user than what already exists.  The under the hood
stuff should most definitely be reused as much as possible, and the
user-facing pieces should feel cohesive with what already exists.  I'm
pretty sure we're all on the side for this.  :-)

We're going to try to take this offline for further discussion and
evaluation and hopefully come back with a more clear proposal in the
coming months.

~Aaron



More information about the cfe-dev mailing list