[LLVMdev] How to force MemoryDependenceAnalysis to run on original module

Chris Lattner clattner at apple.com
Thu Aug 20 14:01:15 PDT 2009


On Aug 20, 2009, at 11:44 AM, Marc Brünink wrote:

> Hi,
>
> I do have a FunctionPass that does change the code. This FunctionPass
> requires another FunctionPass which performs all the necessary  
> analyses.
> This AnalysisPass again requires MemoryDependenceAnalysis.
>
> The problem is, that I would like MemoryDependenceAnalysis to run on  
> the
> unaltered module. I do not want to have dependencies to changed code.
> What is the cleanest way to do this?
> Sounds easy, but I do not get it right :D

Hi Marc,

This isn't really possible.  The issue is that MemDep doesn't just  
"analyze your function".  It is designed to be as lazy as possible,  
which means that it only does analysis when a query is performed.   
This means that if you have MemDep->Pass1->Pass2 and Pass2 uses MemDep  
info that you need to make Pass1 preserve that memdep info.

-Chris 



More information about the llvm-dev mailing list