<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>