<div dir="ltr">You shouldn't be running a non-analysis pass from another pass, and the NPM doesn't allow for that. If you want to do some transforms, use some utility function. For example, use SplitAllCriticalEdges() instead of running BreakCriticalEdgesPass.<div><br><div>Does that answer your question? What exactly are you trying to do?</div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 11, 2020 at 7:45 AM Ejjeh, Adel via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</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">





<div lang="EN-US" style="overflow-wrap: break-word;">
<div class="gmail-m_5317187570934104192WordSection1">
<p class="MsoNormal">Hello<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">With the legacy pass manager, we could invoke a Function Pass within the runOnModule() of a Module Pass by simply passing the Function reference to the getAnalysis<>() method. Can the same be achieved using the new Pass Manager? I am writing
 a Module Pass which requires to access analyses for the different functions, and I need the new pass manager because I need different copies of the same analysis to be valid at the same time, for different functions in the module (my understanding was that
 the new pass manager can do that whereas the legacy pass manager would only keep the last instance that was invoked).<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Thanks<u></u><u></u></p>
<p class="MsoNormal">-Adel<u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">-- <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:14pt;font-family:"Lucida Handwriting";color:rgb(31,56,100)">Adel Ejjeh</span><span style="color:black"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:9pt;color:black">PhD Candidate | Computer Science</span><span style="color:black"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:9pt;color:black">University of Illinois at Urbana Champaign</span><span style="color:black"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:9pt;color:black">Email: <a href="mailto:aejjeh@illinois.edu" title="mailto:aejjeh@illinois.edu" target="_blank"><span style="color:rgb(5,99,193)">aejjeh@illinois.edu</span></a> | <a href="mailto:adel.ejjeh@gmail.com" target="_blank"><span style="color:rgb(5,99,193)">adel.ejjeh@gmail.com</span></a></span><span style="color:black"><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:9pt;color:black">Zoom: <a href="https://illinois.zoom.us/my/aejjeh" title="https://illinois.zoom.us/my/aejjeh" target="_blank"><span style="color:rgb(5,99,193)">https://illinois.zoom.us/my/aejjeh</span></a></span><u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>

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