[LLVMdev] run -mem2reg and -reg2mem programmably from within a Pass

Xi Wang xi.wang at gmail.com
Sun Jun 19 20:19:32 PDT 2011


I guess AU.addRequiredID(DemoteRegisterToMemoryID) would do the trick.

- xi

On Jun 19, 2011, at 11:03 PM, Chuck Zhao wrote:

> I am currently building a BasicBlock pass which requires to run -reg2mem before it, and need to run -mem2reg after it to clean up.
> 
> So, I want to specify -reg2mem as one of the pre-requisite passes to it, as:
> 
> 
> class MyPass: public BasicBlockPass{
> 
>   virtual void getAnalysisUsage(AnalysisUsage &AU){
>     ...
>     AU.addRequired<RegToMem>();
>     ...
>   }
> 
> };
> 
> 
> I searched all passes under the lib/Transform directory, but didn't find a single case of my expected usage.
> Though I know opt takes both -reg2mem and -mem2reg as valid arguments and does the proper transformation, I didn't figure out how it is being done.
> 
> 
> What is the right way of doing this?
> (Or, is there a different way doing it?)
> 
> 
> Thank you very  much
> 
> 
> Chuck
> 
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev





More information about the llvm-dev mailing list