PRE fails to merge flow-sensitive alias-information for void Ekin(double *e, int *stridee, double *vx, int *stridevx, double *vy, int *stridevy, double *vz, int *stridevz, int *sz) { int i1 = sz[0]; int j1 = sz[1]; int k1 = sz[2]; int i, j, k; for (k=0; k<k1; ++k) for (j=0; j<j1; ++j) for (i=0; i<i1; ++i) { e[i + j * stridee[1] + k * stridee[2]] = 0.128 * ( ((vx[i + j * stridevx[1] + k * stridevx[2]] + vx[i+1 + j * stridevx[1] + k * stridevx[2]]) * (vx[i + j * stridevx[1] + k * stridevx[2]] + vx[i+1 + j * stridevx[1] + k * stridevx[2]])) + ((vy[i + j * stridevy[1] + k * stridevy[2]] + vy[i + (j+1) * stridevy[1] + k * stridevy[2]]) * (vy[i + j * stridevy[1] + k * stridevy[2]] + vy[i + (j+1) * stridevy[1] + k * stridevy[2]])) + ((vz[i + j * stridevz[1] + k * stridevz[2]] + vz[i + j * stridevz[1] + (k+1) * stridevz[2]]) * (vz[i + j * stridevz[1] + k * stridevz[2]] + vz[i + j * stridevz[1] + (k+1) * stridevz[2]])));
} } >From the .lim dump: NOTE: no flow-sensitive alias info for pretmp.28_145 in D.1305_17 = *pretmp.28_145; NOTE: no flow-sensitive alias info for pretmp.29_46 in D.1308_20 = *pretmp.29_46; NOTE: no flow-sensitive alias info for pretmp.30_50 in D.1317_31 = *pretmp.30_50; NOTE: no flow-sensitive alias info for pretmp.31_3 in D.1320_34 = *pretmp.31_3; NOTE: no flow-sensitive alias info for pretmp.32_212 in D.1340_90 = *pretmp.32_212; NOTE: no flow-sensitive alias info for pretmp.33_197 in D.1343_93 = *pretmp.33_197; NOTE: no flow-sensitive alias info for pretmp.35_2 in D.1365_150 = *pretmp.35_2; NOTE: no flow-sensitive alias info for pretmp.36_211 in D.1368_153 = *pretmp.36_211; -- Summary: no flow-sensitive alias info for pretmp.28_145 in D.1305_17 = *pretmp.28_145; Product: gcc Version: 4.1.0 Status: UNCONFIRMED Severity: normal Priority: P2 Component: tree-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rguenth at gcc dot gnu dot org CC: dberlin at gcc dot gnu dot org,gcc-bugs at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=23969