[LLVMdev] Problem with LoopDependenceAnalysis
Preston Briggs
preston.briggs at gmail.com
Tue Mar 20 14:10:37 PDT 2012
Shanmuhka wrote:
> I looked at the sanjoys patch for SIV Test. And i figured out that this is exactly what i need.
> as the comments said, check if subscript A can possibly have the same value as B in analyseSIV(A,B)
> but i didn't get How to use this information ?
>
> lets just say in the above program
> When i use depends function it shows the dependency from load of x to store in x. similarily for array a.
> but how can i be sure that there is no dependence from store of x to load of x in the next iteration ?
LoopDependenceAnalysis isn't really ready for use yet.
When it is ready, you would be able to ask explicitly:
Is there a dependence from the store of x to (one of) the loads of x?
For your example, it would tell you that no such dependence exists.
Preston
> On Thu, Mar 15, 2012 at 11:28 AM, shanmuk rao <shanmuk.rao008 at gmail.com> wrote:
>>
>> Hi,
>> I am using LLVM for implementing LoopFission pass.
>> I am using LoopPass.
>> I know that for checking circular dependency in loop I have to use LoopDependenceAnalysis
>>
>> This is what i want to do.
>> for(int i = 0; i< n ; i++){
>>
>> s1 : a[i] = a[i] + x[i];
>> s2 : x[i] = x[i+1] + i*2 ;
>> }
>>
>> /**there is no dependence from s2 to s1/
>> so after distribution(it should be) :
>>
>> for(int i = 0; i< n ; i++)
>> s1: a[i] = a[i] + x[i];
>>
>> for(int i = 0; i< n ; i++)
>> s2: x[i] = x[i+1] + i*2 ;
>>
>>
>> but in llvm i couldn't able to find there is no dependency from s2 to s1.
>>
>> LoopDependenceAnalyis always gives there is a dependency from every load instructions to every store instructions.
>>
>>
>> is there any other alternative to LoopDependencyAnalysis ?
More information about the llvm-dev
mailing list