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.

Reply via email to