On Thu, Dec 24, 2015 at 11:15 AM, Jan Hubicka <hubi...@ucw.cz> wrote: >> On December 23, 2015 5:58:07 PM GMT+01:00, Uros Bizjak <ubiz...@gmail.com> >> wrote: >> >On Wed, Dec 23, 2015 at 2:39 PM, Richard Biener >> ><richard.guent...@gmail.com> wrote: >> >> On December 23, 2015 10:39:17 AM GMT+01:00, Uros Bizjak >> ><ubiz...@gmail.com> wrote: >> >>>Hello! >> >>> >> >>>There is a logic error in Honza's patch "Transparent alias suport >> >part >> >>>10" [1]. The part in memrefs_conflict_p should be changed to: >> >>> >> >>>- /* If decls are different or we know by offsets that there is >> >no >> >>>overlap, >> >>>- we win. */ >> >>>- if (!cmp || !offset_overlap_p (c, xsize, ysize)) >> >>>+ /* If decls are different and we know by offsets that >> >>>+ there is no overlap, we win. */ >> >>>+ if (!cmp && !offset_overlap_p (c, xsize, ysize)) >> >>> return 0; >> >>>- /* Decls may or may not be different and offsets overlap....*/ >> >>>+ /* Decls are different and offsets overlap....*/ >> >>> >> >>>Even if decls are different, their offsets shouldn't overlap! >> >> >> >> Comparing offsets of different decls does not make sense. >> > >> >Uh, yes, some more eyeballing was needed, but you are right. >> > >> >Is there a way to detect aliasing in case AND addresses are involved? >> > >> >Probably we need something like in base_alias_check, where: >> >> Yeah, and in that case just give up. > > Yep, I will look into it ASAP. > comparing offsets of different decls is intended tohandle the case > where one decl is foo and other bar. We do not know of foo is not alias > of bar, but if offsets are different, we can still disambiguate > This needs to be tought over WRT anchors anyway.
Thanks, I will be glad to test the patch on alpha native bootstrap. Uros.