[LLVMdev] Array Dependence Analysis

Devang Patel dpatel at apple.com
Tue Mar 18 09:03:31 PDT 2008

On Mar 18, 2008, at 8:03 AM, Wojciech Matyjewicz wrote:

> Hi,
> Devang Patel wrote:
>> LLVM loop transformer operates at loop level, which is not what many
>> optimizers do in general. So, a loop level interface (i.e. based on
>> LoopPass in llvm) to find loop-carried dependence is preferable to
>> loop optimizer.
> Do you mean making Array Dependence Analysis a loop-level analysis?
> Would its results be available for some function-level pass then?

We could extend pass manager framework to let function-level pass use  
loop-level analysis info. However that is not ideal.

A loop level pass operates on a loop only. If a function level pass  
needs array dependence analysis info then it expects info. to cover  
entire function. Which means, it will need function level array  
dependence analysis pass, which is natural. If loop level pass, say  
LP, is interested in array dependence info, then in many cases it is  
more interested in loop-carried dependence info for a given loop. If  
such info. is made available to through a loop level pass then it'd  
allow loop pass manager to execute  allow loop pass manager to handle  
LP together with other loop passes.


More information about the llvm-dev mailing list