<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, May 30, 2016 at 1:04 PM, Jia Chen <span dir="ltr"><<a href="mailto:grievejia@gmail.com" target="_blank">grievejia@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">grievejia added a comment.<br>
<span class=""><br>
In <a href="http://reviews.llvm.org/D20776#443810" rel="noreferrer" target="_blank">http://reviews.llvm.org/D20776#443810</a>, @george.burgess.iv wrote:<br>
<br>
> We treat values that don't exist in StratifiedSets conservatively because the IR can be modified after we run CFLAA on it.<br>
<br>
<br>
</span>Hmm, this is strange. To me the one and only right thing to do after IR changes is to invalidate the cfl-aa pass and re-run the analysis.</blockquote><div><br></div><div>It would actually be much better to incrementally update, but ...</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> In general it is not safe to persist alias analysis result across IR modifications.</blockquote><div><br></div><div>Sure it is. It is safe to give conservatively correct answers,  even if you don't incrementally recompute.</div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> In your example, what if, instead of adding new GEP to the IR, the points-to set of some existing value gets updated? The analysis result can't be used anyway.<br></blockquote><div><br></div><div>What transformation do you think can occur that would make the points-to set not conservatively correct, but retain the semantics of the original program?<br><br> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
<br>
<a href="http://reviews.llvm.org/D20776" rel="noreferrer" target="_blank">http://reviews.llvm.org/D20776</a><br>
<br>
<br>
<br>
</blockquote></div><br></div></div>