[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).

-- 
Mehdi


> 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)
> 
> --
> Mehdi
> 
> 
> >
> > 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...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20160211/890fa893/attachment.html>


More information about the llvm-dev mailing list