[LLVMdev] Problem with LoopDependenceAnalysis
Preston Briggs
preston.briggs at gmail.com
Thu Mar 15 09:57:00 PDT 2012
Shanmukha Rao wrote:
> 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 LoopDependenceAnalysis ?
LoopDependenceAnalysis is the right tool, but it's not completely implemented.
If you look at the source, you'll see the implementation is just outlined.
I'm working on a more complete implementation, but much work remains.
Preston
More information about the llvm-dev
mailing list