<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    Having read through the proposal, I feel like I missing some of the
    background to understand the problem you're trying to solve.<br>
    <br>
    My mental model is that construction of an object creates a new
    abstract location in an infinite heap with each object infinitely
    far apart.  Destruction of the object destroys the abstract
    location.  As a result, destructing one object and constructing
    another produce unique incomparable abstract locations.  The fact
    the two abstract locations might happen to share a physical address
    is irrelevant.  <br>
    <br>
    If I'm understanding the proposal correctly, this model works for
    most code.  The key optimization you appear to want to perform is to
    recognize the fact that these two abstract locations occupy the same
    memory.  In particular, you want to be able to return mustalias for
    alias(loc1, loc2).  Another way of saying this is that you want to
    reason about abstract locations as defined by
    allocation/deallocation events rather than construction/destruction
    events.  Is that a fair summary?<br>
    <br>
    What I'm not clear on is *why* recognizing the two abstract
    locations share a physical address is important.  Given that the
    contents of the abstract location before construction or after
    destruction are undefined (right?), what optimization does
    recognizing the mustalias relation enable?<br>
    <br>
    Philip<br>
    <br>
    <br>
    <div class="moz-cite-prefix">On 07/22/2015 02:55 PM, Piotr Padlewski
      wrote:<br>
    </div>
    <blockquote
cite="mid:CABUQfFrc_ywRN7h13=erx1Eq+vyTmFFeWZbrXQJ7NX2Km=zGFA@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div>Hi folks,</div>
        <div>this summer I will work with Richard Smith on clang
          devirtualization. Check out our proposal:</div>
        <div><br>
        </div>
        <a moz-do-not-send="true"
href="https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.google.com_document_d_1f2SGa4TIPuBGm6y6YO768GrQsA8awNfGEJSBFukLhYA_edit-3Fusp-3Dsharing&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=Mfk2qtn1LTDThVkh6-oGglNfMADXfJdty4_bhmuhMHA&m=-sGvXxkjadRLtXcTi4kOVPumoH-0XOKmk_vgUTcYugY&s=hHoo6tgC-NooXdIwbBwT_D8sIw8fcYF4XvBRI8Lr9Eg&e=">https://docs.google.com/document/d/1f2SGa4TIPuBGm6y6YO768GrQsA8awNfGEJSBFukLhYA/edit?usp=sharing</a><br>
        <div><br>
        </div>
        <div>And modified LangRef</div>
        <div><a moz-do-not-send="true"
href="https://urldefense.proofpoint.com/v2/url?u=http-3A__reviews.llvm.org_D11399&d=AwMFaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=Mfk2qtn1LTDThVkh6-oGglNfMADXfJdty4_bhmuhMHA&m=-sGvXxkjadRLtXcTi4kOVPumoH-0XOKmk_vgUTcYugY&s=L6_vdinD06uAwgm4OJGL5QxKw8Tzfa_4DxPwf3Zj704&e=">http://reviews.llvm.org/D11399</a><br>
        </div>
        <div><br>
        </div>
        <div>You can also check out previous disscussion that was
          started before our proposal was ready - <a
            moz-do-not-send="true"
            href="http://lists.cs.uiuc.edu/pipermail/cfe-dev/2015-July/044052.html">http://lists.cs.uiuc.edu/pipermail/cfe-dev/2015-July/044052.html</a></div>
        <div><br>
        </div>
        <div>Regards</div>
        <div>Piotr Padlewski</div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a class="moz-txt-link-freetext" href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>