On Tue, Nov 15, 2011 at 11:31 AM, Razya Ladelsky <ra...@il.ibm.com> wrote: >> > I hope it's clearer now, I will add a comment to the code, and submit > it >> > before committing it. >> >> No, it's not clearer, because it is not clear why you need to add the > hack >> instead of avoiding the 2nd access function. And iff you add the hack it >> needs a comment why zero should be special (any other constant would >> be the same I suppose). >> >> Btw, your fortran example does not compile and I don't believe the issue >> is still present after my last changes to dr_analyze_indices. So, did >> you verify this on trunk? >> >> Richard. > > This patch fixes the failures described in > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49960 > It also fixes bzips when run with autopar enabled. > > In both cases the self dependences are not handled correctly. > In the first case, a non affine access is analyzed: > in the second, the distance vector is not calculated correctly (the > distance vector considered for for self dependences is always (0,0,...)) > As a result, the loops get wrongfully parallelized. > > I modified the previous patch according to the last changes in the trunk, > which indeed do not requite special handling for the 2nd access function > (as mentioned by Richard). > Another change is that the previous version of the patch eliminated > compute_self_dependences function > as the calls to it were redundant, while this version considers the new > call to compute_self_dependences from the vect code for gather (inserted > lately by Jakub). > ChangeLog: > PR tree-optimization/49960 > > * tree-data-ref.c (initialize_data_dependence_relation): Add > initializations. > Remove call to compute_self_dependence. > (compute_affine_dependence): Remove the !DDR_SELF_REFERENCE > condition. > (compute_self_dependence): Remove old code. Add call to > compute_affine_dependence. > (compute_all_dependences): Remove call to compute_self_dependence. > > Add call to compute_affine_dependence. > > testsuite/ChangeLog: > PR tree-optimization/49960 > > * gcc.dg/autopar/pr49960.c: New test. > * gcc.dg/autopar/pr49960-1.c: New test. > > > > > > > > Bootstrap and testsuite pass successfully for ppc64-redhat-linux. > > OK for trunk?
Ok. Thanks, Richard. > Thank you, > Razya > >