<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 31, 2016 at 4:34 PM, Michael Kuperstein <span dir="ltr"><<a href="mailto:mkuper@google.com" target="_blank">mkuper@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Right, nothing enforces this in the current PM.<div><div><br></div><div>But LCSSA isn't really a good example - we explicitly don't want to be able to "require" transformation passes in the new PM, neither by another transformation or by an analysis.</div></div></div></blockquote><div><br></div><div>Sure, i was just trying to come up with a pass that something may think makes analysis easier.</div><div>Pick your poison :)</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div> That, I believe, is enforced, and LCSSA - or any other potential "this pass require the IR to be in a certain form" issue - will have to be handled in a different way. I don't believe we have a good solution for this yet, Chandler may know more.<div><br><div>I'm afraid we may have other cases of analyses performing "trivial" simplifications, though, and I don't believe the new PM currently checks this.</div></div></div></div></div></blockquote><div><br></div><div>I would definitely believe this.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Aug 31, 2016 at 4:25 PM, Daniel Berlin <span dir="ltr"><<a href="mailto:dberlin@dberlin.org" target="_blank">dberlin@dberlin.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Theoretically, nothing checks or enforces this (at least in the current PM).<div>Is it checked/enforced in the New PM?</div><div><br></div><div>If an analysis does something like "require LCSSA", it will modify the IR.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>On Wed, Aug 31, 2016 at 4:22 PM, Hal Finkel via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>hfinkel added a subscriber: hfinkel.<br>
<span><br>
================<br>
Comment at: lib/Analysis/GlobalsModRef.cpp<wbr>:277<br>
@@ -276,1 +276,3 @@<br>
</span><span>+ // AnalyzeUsesOfPointer assumes all uses of the value are live.<br>
+ F.removeDeadConstantUsers();<br>
if (!AnalyzeUsesOfPointer(&F)) {<br>
</span>----------------<br>
<span>mkuper wrote:<br>
> Don't know enough about GlobalsAA to approve this anyway, but as a matter of principle - is it acceptable for an analysis pass to modify the IR?<br>
</span>No, they shouldn't.<br>
<span><br>
<br>
Repository:<br>
rL LLVM<br>
<br>
<a href="https://reviews.llvm.org/D24104" rel="noreferrer" target="_blank">https://reviews.llvm.org/D2410<wbr>4</a><br>
<br>
<br>
<br>
</span></div></div><span><div><div>______________________________<wbr>_________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-commits</a><br>
</div></div></span></blockquote></div><br></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div></div>