https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80815
--- Comment #3 from amker at gcc dot gnu.org --- (In reply to rguent...@suse.de from comment #2) > On Fri, 19 May 2017, amker at gcc dot gnu.org wrote: > > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80815 > > > > --- Comment #1 from amker at gcc dot gnu.org --- > > GCC uses vect_factor as minimal segment length for dr_b when merging alias > > pairs, I think it could be relaxed to vect_factor * abs (DR_STEP (dr_b)). > > Below test shows this change can merge additional alias checks: > > But it would make cases aliasing that are not (that's always a trade off > between more precise result and less runtime checking). Hmm, it only does compilation time (and still conservative) check if segment dr_b resides in the gap between dr_a1 and dr_a2. the overall effect would be equal to checking <dr_a1, dr_b>, <gap_segment, dr_b> and <dr_a2, dr_b>?