[LLVMdev] Running specific passes

Vladimir Prus ghost at cs.msu.su
Tue Nov 30 00:30:16 PST 2004


On Monday 29 November 2004 19:39, Chris Lattner wrote:

> > > Alternatively, if you don't want to do that, you can build mem2reg into
> > > your pass if it works better.  To do this, your pass needs to
> > > 'addRequired' DominatorTree and DominatorFrontier, then use the
> > > interfaces exposed through
> > > include/llvm/Transforms/Utils/PromoteMemToReg.h.
> >
> > This still leaves the question of TargetData parameter -- which is not
> > used by the PromoteMemToReg function, AFAICT. Passing *(TargetData*)0 is
> > dirty.
>
> Just addRequired<TargetData>(), and pass in getAnalysis<TargetData>() as
> appropriate.

This did not work for me -- it seems the "analyze" program does not provide 
any TargetData. Probably, analysis pass which modifies program is not 
typical, but then it's surely not transformation pass, either.

- Volodya




More information about the llvm-dev mailing list