Sorry. I think my question should be as follows:
1. With MisPro on SGI machine, LNO does tiling and interchanged the loop
(i and j) of the code, even it doesn't need to do loop interchange.
2. With Pro64, you do loop fission, instead of tiling.
Can you explain the reason?
University of Delaware
On Tue, 12 Sep 2000, Peng Tu wrote:
> For this C program, I don't see why it is beneficial to interchange
> the loop because the inner loop is already stride-1 (C is row-major).
> It does need an unroll-and-jam transformation to capture the reuse
> of the outer loop though. Maybe the LNO machine model is not up-to-date
> with the IA64.
> A useful flag to try for C program is -OPT:alias=restrict if the array is
> an input parameter.
> On Tuesday, September 12, 2000 11:07 AM, Ziang Hu
> [SMTP:hu@xxxxxxxxxxxxxxxxxxx] wrote:
> > Hi,
> > I tried to test the effect of LNO with Pro64. The code is as follows:
> > ...
> > for (i=0; i<1000; i++)
> > for (j=0; j<1000; j++)
> > a[i][j] = a[i][j] + a[i-1][j];
> > ...
> > With -O3, no loop interchange happened.
> > How about LNO with C programs ?
> > Thanks
> > Ziang