<div dir="ltr"><div dir="ltr"><br></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Aug 14, 2019 at 10:21 PM Michael Kruse <<a href="mailto:llvmdev@meinersbur.de" target="_blank">llvmdev@meinersbur.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
the legacy pass manager (the one that uses getAnalysisUsage) makes no<br>
distinction between analyses and other passes. E.g., passes can also<br>
depend on transformative passes. If your pass is does not change the<br>
IR, then you can add AU.setPreservesAll() into getAnalysisUsage. Any<br>
additional addPreserved calls will have no effect as you told the pass<br>
manager already that you preserve all passes.</blockquote><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">>If you do not add<br>
setPreservesAll/addPreserved the pass manager will treat your pass as<br>
a transformative pass and re-compute SomeAnalysis after your pass has<br>
run.<br></blockquote><div><font color="#3d85c6">I am under the impression that the pass manager will re-run the un-preserved analysis passes only if the current pass returns with a 'true'. </font></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Michael<br>
<br>
<br>
Am Di., 13. Aug. 2019 um 23:33 Uhr schrieb Dangeti Tharun kumar via<br>
llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>>:<br>
><br>
> Hi,<br>
><br>
> I have a doubt regarding getAnalysisUsage. My assumption is that, as analysis passes will not change the IR, all the passes required by an analysis pass should be preserved. Say, I have an analysis pass which requires another analysis pass called SomeAnalysis and I have not added AU.addPreserved<SomeAnalysis>() to my pass.<br>
><br>
> Would the pass manager still considers the SomeAnlaysis as preserved?<br>
> --<br>
> Regards,<br>
> DTharun<br>
> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="m_5160017036338382326gmail_signature"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Regards,</div><div>DTharun</div></div></div></div></div></div></div></div></div>