[prev in list] [next in list] [prev in thread] [next in thread] 

List:       cfe-dev
Subject:    Re: [cfe-dev] [analyzer] Thoughts on Temporary Destructors
From:       Daniel Connelly <dconnelly () google ! com>
Date:       2014-01-31 10:32:48
Message-ID: CA+Q_39xU_RaYEMOjhepvy_jcwz-tZAYPVhmF2Z8-h_Ly8P4CGw () mail ! gmail ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


After digging into this for a couple of weeks across the 2013/2014
boundary, I now doubt that my 20% time will be enough to properly implement
this support. Anybody who's interested should feel free to work on this
instead, as I'll not be moving forward with it. Jordan, thanks for the
pointers and the summary of the problem!


On Wed, Dec 18, 2013 at 1:55 AM, Jordan Rose <jordan_rose@apple.com> wrote:

>
> On Dec 16, 2013, at 6:57 , Daniel Connelly <dconnelly@google.com> wrote:
>
> On Fri, Dec 13, 2013 at 7:13 PM, Jordan Rose <jordan_rose@apple.com>wrote:
>
>>
>> In discussing the first problem, Ted and Anna realized that the liveness
>> information for nested && and || expressions was still incorrect: the
>> outermost expression may potentially depend on all of the inner
>> expressions, but that means that those sub-expressions are *always* considered
>> live (since expressions are marked dead, in a reverse analysis, at the
>> point of evaluation, and there are paths that don't evaluate a particular
>> sub-expression in a complex logical expression). This wasn't an issue
>> before because && and || didn't actually use those expressions to compute
>> their value, but it's still incorrect.
>>
>
> Is this http://llvm.org/bugs/show_bug.cgi?id=18159 ?
>
>
> Yes.
>
> Thanks for the overview. This is all pretty new to me, so I'm going to dig
> into the problem for a couple of days and hopefully come up with some
> intelligent questions.
>
>
> Sorry for the blast of information. If you want an easier place to start
> playing with the analyzer, you could try hacking on productizing
> SimpleStreamChecker. (And if you haven't watched our talk from last year's
> LLVM dev meeting, I definitely suggest taking the time to do so. It's aimed
> at checker writers, but still describes the general structure of the
> analyzer. It's linked near the top of
> http://clang-analyzer.llvm.org/checker_dev_manual.html)
>
> Jordan
>



-- 
Daniel Connelly | Software Engineer – Chrome | dconnelly@google.com |

Google Germany GmbH
Dienerstr. 12
80331 München

Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschäftsführer: Graham Law, Christine Elizabeth Flores

[Attachment #5 (text/html)]

<div dir="ltr">After digging into this for a couple of weeks across the 2013/2014 \
boundary, I now doubt that my 20% time will be enough to properly implement this \
support. Anybody who&#39;s interested should feel free to work on this instead, as \
I&#39;ll not be moving forward with it. Jordan, thanks for the pointers and the \
summary of the problem!</div> <div class="gmail_extra"><br><br><div \
class="gmail_quote">On Wed, Dec 18, 2013 at 1:55 AM, Jordan Rose <span \
dir="ltr">&lt;<a href="mailto:jordan_rose@apple.com" \
target="_blank">jordan_rose@apple.com</a>&gt;</span> wrote:<br> <blockquote \
class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc \
solid;padding-left:1ex"><div style="word-wrap:break-word"><br><div><div \
class="im"><div>On Dec 16, 2013, at 6:57 , Daniel Connelly &lt;<a \
href="mailto:dconnelly@google.com" target="_blank">dconnelly@google.com</a>&gt; \
wrote:</div> <br></div><blockquote type="cite"><div dir="ltr"><div \
class="gmail_extra"><div class="gmail_quote"><div class="im"> On Fri, Dec 13, 2013 at \
7:13 PM, Jordan Rose <span dir="ltr">&lt;<a href="mailto:jordan_rose@apple.com" \
target="_blank">jordan_rose@apple.com</a>&gt;</span> wrote:<br>





</div><div class="im"><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div \
style="word-wrap:break-word"><div> <br></div><div>In discussing the first problem, \
Ted and Anna realized that the liveness information for nested &amp;&amp; and || \
expressions was still incorrect: the outermost expression may potentially depend on \
all of the inner expressions, but that means that those sub-expressions are \
<i>always</i>  considered live (since expressions are marked dead, in a reverse \
analysis, at the point of evaluation, and there are paths that don&#39;t evaluate a \
particular sub-expression in a complex logical expression). This wasn&#39;t an issue \
before because &amp;&amp; and || didn&#39;t actually use those expressions to compute \
their value, but it&#39;s still incorrect.</div>



</div></blockquote><div><br></div><div>Is this  <a \
href="http://llvm.org/bugs/show_bug.cgi?id=18159" \
target="_blank">http://llvm.org/bugs/show_bug.cgi?id=18159</a>  \
?</div></div></div></div></div></blockquote><div><br></div> \
Yes.</div><div><br></div><div><div class="im"><blockquote type="cite"><div \
dir="ltr"><div class="gmail_extra"><div class="gmail_quote">Thanks for the overview. \
This is all pretty new to me, so I&#39;m going to dig into the problem for a couple \
of days and hopefully come up with some intelligent questions.</div> \
</div></div></blockquote></div><div><div dir="ltr"><div class="gmail_extra"><div \
class="gmail_quote"><br></div><div class="gmail_quote">Sorry for the blast of \
information. If you want an easier place to start playing with the analyzer, you \
could try hacking on productizing SimpleStreamChecker. (And if you haven&#39;t \
watched our talk from last year&#39;s LLVM dev meeting, I definitely suggest taking \
the time to do so. It&#39;s aimed at checker writers, but still describes the general \
structure of the analyzer. It&#39;s linked near the top of  <a \
href="http://clang-analyzer.llvm.org/checker_dev_manual.html" \
target="_blank">http://clang-analyzer.llvm.org/checker_dev_manual.html</a>)</div> \
<span class="HOEnZb"><font color="#888888"><div class="gmail_quote"><br></div><div \
class="gmail_quote">Jordan</div></font></span></div></div></div></div></div></blockquote></div><br><br \
clear="all"><div><br></div>-- <br><div dir="ltr"> <span \
style="color:rgb(85,85,85);font-family:sans-serif;font-size:small;line-height:1.5em;border-width:2px \
0px 0px;border-style:solid;border-color:rgb(213,15,37);padding-top:2px;margin-top:2px">Daniel \
Connelly  |</span><span \
style="color:rgb(85,85,85);font-family:sans-serif;font-size:small;line-height:1.5em;border-width:2px \
0px 0px;border-style:solid;border-color:rgb(51,105,232);padding-top:2px;margin-top:2px"> \
Software Engineer  <span><span \
style="font-size:15px;font-family:Arial;color:rgb(0,0,0);background-color:transparent;vertical-align:baseline;white-space:pre-wrap">–</span></span> \
Chrome  |</span><span \
style="color:rgb(85,85,85);font-family:sans-serif;font-size:small;line-height:1.5em;border-width:2px \
0px 0px;border-style:solid;border-color:rgb(0,153,57);padding-top:2px;margin-top:2px"> \
<a href="mailto:dconnelly@google.com" target="_blank">dconnelly@google.com</a>  \
|</span><span style="color:rgb(85,85,85);font-family:sans-serif;font-size:small;line-height:1.5em;border-width:2px \
0px 0px;border-style:solid;border-color:rgb(238,178,17);padding-top:2px;margin-top:2px"> \
</span><span style="color:rgb(0,0,0);font-family:Times;font-size:medium"><br> \
</span><br><div><div><font color="#555555" face="sans-serif"><span \
style="line-height:19.5px">Google Germany GmbH</span></font></div><div><font \
color="#555555" face="sans-serif"><span style="line-height:19.5px">Dienerstr. \
12</span></font></div> <div><font color="#555555" face="sans-serif"><span \
style="line-height:19.5px">80331 München</span></font></div><div><font \
color="#555555" face="sans-serif"><span \
style="line-height:19.5px"><br></span></font></div><div><font color="#555555" \
face="sans-serif"><span style="line-height:19.5px">Registergericht und -nummer: \
Hamburg, HRB 86891</span></font></div> <div><font color="#555555" \
face="sans-serif"><span style="line-height:19.5px">Sitz der Gesellschaft: \
Hamburg</span></font></div><div><font color="#555555" face="sans-serif"><span \
style="line-height:19.5px">Geschäftsführer: Graham Law, Christine Elizabeth \
Flores</span></font></div> </div><div><br></div></div>
</div>



_______________________________________________
cfe-dev mailing list
cfe-dev@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic