<div dir="ltr">Okay, so I have to create my own PassManager. I think that answers my question.<div>Thanks for the help! When I have something useful implemented I'll be happy to share the details.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 11, 2016 at 7:46 PM, Mehdi Amini <span dir="ltr"><<a href="mailto:mehdi.amini@apple.com" target="_blank">mehdi.amini@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">It depends how you interact with LLVM, one the command line with `opt` it is the order of the arguments.<div>Otherwise at the C++ API level it involves creating a PassManager and adding passes to it in order. </div><div>Your pass is surely added to the PassManager at some point, you just have to figure out by which component (again I don't know your project).</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>-- </div><div>Mehdi</div></font></span><div><div class="h5"><div><br><div><br></div><div><div><blockquote type="cite"><div>On Feb 11, 2016, at 10:39 AM, Stanislav Manilov <<a href="mailto:stanislav.manilov@gmail.com" target="_blank">stanislav.manilov@gmail.com</a>> wrote:</div><br><div><div dir="ltr">Oh, I see, that makes a lot of sense.<div><br></div><div>How do I build the pass pipeline?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 11, 2016 at 5:54 PM, Mehdi Amini <span dir="ltr"><<a href="mailto:mehdi.amini@apple.com" target="_blank">mehdi.amini@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>> On Feb 11, 2016, at 9:49 AM, Stanislav Manilov via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank">llvm-dev@lists.llvm.org</a>> wrote:<br>
><br>
> Hello,<br>
><br>
> I am used to specifying dependence on other LLVM passes in the `getAnalysisUsage(AnalysisUsage &)` method of my pass. However, it doesn't seem that there is a header file that exposes the `mem2reg` pass - it is implemented in `Mem2Reg.cpp` as a wrapper.<br>
<br>
</span>Usually dependencies are expressed toward *analyses* and not toward other transformations.<br>
<br>
It is the responsibility of the pass pipeline building to order transformations.<br>
<br>
(hope I haven't misunderstood your question)<br>
<br>
--<br>
Mehdi<br>
<span><br>
<br>
><br>
> Is there an easy way to reuse this pass, or should I, in essence, duplicate `Mem2Reg.cpp` in my project?<br>
><br>
> Cheers,<br>
>  - Stan<br>
</span>> _______________________________________________<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="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
<br>
</blockquote></div><br></div>
</div></blockquote></div><br></div></div></div></div></div></blockquote></div><br></div>