[LLVMdev] run -mem2reg and -reg2mem programmably from within a Pass
Chuck Zhao
czhao at eecg.toronto.edu
Mon Jun 20 08:38:16 PDT 2011
Xi,
Thank you for the comments.
I also found a recent comment (from John Criswell) on Transformation
Pass as a pre requisite:
http://comments.gmane.org/gmane.comp.compilers.llvm.devel/35640
My problem is now solved :-)
Chuck
On 6/19/2011 11:19 PM, Xi Wang wrote:
> 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
>
> _______________________________________________
> 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