[cfe-dev] Working on the rest of PR10063: destructors and the CFG are causing issues with -Wreturn-type

Chandler Carruth chandlerc at google.com
Mon Sep 12 11:54:25 PDT 2011


On Mon, Sep 12, 2011 at 11:28 AM, Ted Kremenek <kremenek at apple.com> wrote:

>
> On Sep 12, 2011, at 2:22 AM, Chandler Carruth wrote:
>
> I think this patch is a really useful improvement in accuracy, but it does
> add some non-trivial overhead to the process of adding implicit destructors
> into the CFG for automatic variables.. Does it seem acceptable? I don't see
> particularly cleaner ways of doing this... =/
>
>
> I think this is a reasonable approach.
>
> By non-trivial overhead, are you talking about something that is actually
> measurable in terms of -fsyntax-only time?  Do you have any numbers?
>

Not yet, easy to get though. The overhead is the SmallVector<..., 10> which
I use to reverse the VarDecl*s prior to appending them. That *shouldn't*
have an observable impact, but I'll measure it. =] I just wanted to see if I
was on the right track at all.


>
> If this patch is OK, or after any performance tuning you'd like to see
> here, I think I also better understand the FIXME in the analysis file. Do
> you actually want to switch the CFG to have *no* successors for blocks which
> contain a no-return element?
>
>
> No at all.  That's definitely not the invariant we are going for.  We want
> all blocks to be reverse-reachable from the exit block.  This is needed for
> servicing reverse dataflow analyses.
>

Cool, it seemed a bit odd to me as well. I'll follow up on this point on
your other email.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20110912/b4540553/attachment.html>


More information about the cfe-dev mailing list