Query : Tiling of loop with parameterized loop bounds

12 views
Skip to first unread message

abhilashr...@gmail.com

unread,
May 9, 2014, 3:36:26 AM5/9/14
to gcc-gr...@googlegroups.com
Hi All,

I'm trying to tile a loop with parametric loop bounds. The loop is as follows:

for(i=0; i<k; i++){
     for(j=0; j<k; j++){
           a[i][j] = (a[i][j]*a[j][i])+i+j;
     }
}

i, j, k are unsigned integer variables.

The graphite scop detection algorithm is not able to detect the above loop nest as a scop.
Upon premature diagnosis, I learnt that "graphite_can_represent_loop()" fails and hence result.difficult is set to true.
"graphite_can_represent_loop()" fails because "niter_desc.control.no_overflow" is "false".

What is the significance of "niter_desc.control.no_overflow"?
Can any one give me pointers as to why this loop cannot be tiled?
How to modify the loop such that it can be tiled?

Thanks and Regards,
Abhilash Bhandari
MS Scholar
IIT Madras

Reply all
Reply to author
Forward
0 new messages