Hello, > Yes, this is a straightforward fix to a wrong-code bug, as discussed > offline. Other alternatives that might introduce less edges: > o connect predecessors of u with v, and u with successors of v, when > removing edge (u,v). Maybe there are other cases which rely on transitivity > (?).
Right. as discussed off-line I will further think if we are currently cover all the cases. > >>> * ddg.c (add_intra_loop_mem_dep): New function. > > You could check first thing if (from->cuid == to->cuid), for code clarity. I will address this point separately and commit the current version of the patch as is if that's OK. Thanks, Revital