[LLVMdev] How to use data structure of another pass

John Criswell criswell at uiuc.edu
Mon Jul 19 14:25:34 PDT 2010


Soumya_Prasad_Ukil wrote:
>
>      In LLVM, we generally use data structure of another pass by 
> implementing getAnalysisUsage (AnalysisUsage &AU) method. Suppose 
> SOURCE/lib/Transform directory I have added one pass named as pass_1, 
> which calculates all expressions in a program and stores all of them 
> in an Expr array(take it now for granted). Now I added another pass 
> named as pass_2 in the same directory to print all these expression. 
> How do I do this?

The pass_1 pass will need to implement a method that returns the array 
of expressions (or a reference to it).  The pass_2 pass can then use 
getAnalysis<pass_1>() to get a reference to the pass_1 object and call 
this method on the pass_1 object to get the array of expressions.

-- John T.

>
>
> -- 
> regards,
> soumya prasad ukil




More information about the llvm-dev mailing list