[cfe-dev] Extra join points in CFG?

Chandler Carruth chandlerc at google.com
Wed Dec 21 16:25:33 PST 2011


On Wed, Dec 21, 2011 at 3:51 PM, Ted Kremenek <kremenek at apple.com> wrote:

> Thanks John.  I discovered some of the issues by looking at the generated
> IR; looking at CodeGen was my next planned step.
>

This again makes me wish that we could begin working to actually implement
CodeGen in terms of the CFG so that we both share some of the burden of
implementing this logic, and more importantly can share in the testing of
the logic. Anyways, that's still more invasive, so I just wanted to keep
people thinking about it...


>
> Cheers,
> Ted
>
> On Dec 21, 2011, at 3:42 PM, John McCall wrote:
>
> > On Dec 21, 2011, at 2:51 PM, Ted Kremenek wrote:
> >> Brief update: I have looked at this, and it turns out to be a bit more
> complicated then I anticipated.  I discovered through investigation that
> the way we currently model '&&' and '||' in the CFG does not properly model
> C++ destructors at all, and fixing that may require changing some fairly
> pervasive invariants.  I think we need to do this, but it will take a bit
> longer than I originally anticipated…
> >
> > Incidentally, this kind of conditional evaluation comes up in four places
> > in the language:
> >  - the ternary operator ?:, in both its variants,
> >  - the binary operator &&,
> >  - the binary operator ||, and
> >  - 'new' expressions that call a operator new declared throw()/noexcept,
> >    where the initializer is not evaluated if the result of the call is
> null.
> >
> > Grepping CodeGen for ConditionalEvaluation is a good way to find
> > these places, albeit with some redundancy between the different
> > code generation patterns.
> >
> > John.
>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20111221/d0e6fced/attachment.html>


More information about the cfe-dev mailing list