[llvm-dev] Writing an LLVM Pass that depends on mem2reg
Mehdi Amini via llvm-dev
llvm-dev at lists.llvm.org
Thu Feb 11 11:46:54 PST 2016
It depends how you interact with LLVM, one the command line with `opt` it is the order of the arguments.
Otherwise at the C++ API level it involves creating a PassManager and adding passes to it in order.
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).
> On Feb 11, 2016, at 10:39 AM, Stanislav Manilov <stanislav.manilov at gmail.com> wrote:
> Oh, I see, that makes a lot of sense.
> How do I build the pass pipeline?
> On Thu, Feb 11, 2016 at 5:54 PM, Mehdi Amini <mehdi.amini at apple.com <mailto:mehdi.amini at apple.com>> wrote:
> > On Feb 11, 2016, at 9:49 AM, Stanislav Manilov via llvm-dev <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
> > Hello,
> > 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.
> Usually dependencies are expressed toward *analyses* and not toward other transformations.
> It is the responsibility of the pass pipeline building to order transformations.
> (hope I haven't misunderstood your question)
> > Is there an easy way to reuse this pass, or should I, in essence, duplicate `Mem2Reg.cpp` in my project?
> > Cheers,
> > - Stan
> > _______________________________________________
> > LLVM Developers mailing list
> > llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
> > http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the llvm-dev