[PATCH] D37419: Teach scalar evolution to handle inttoptr/ptrtoint

Daniel Berlin via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 3 18:35:46 PDT 2017


>
>
>>
>> I believe this follows from the GetUnderlyingObject and
>> isIdentifiedObject related logic in  BasicAAResult::aliasCheck.
>>
>> And I'm not aware of any transforms in LLVM today that contradict the
>> pointer aliasing rules.
>>
>
> I assume you meant "do the wrong thing here". Which i still believe is
> definitely wrong, FWIW, but i'm too lazy to go searching through bugzilla
> some more today, so i'm going to let it go.
>
>
> I'll also point out, you didn't read or write anything in your example.
Which is strange to me because the usual semantic is "allowed to alias, but
not allowed to be used to load/store".
IE if you ask if the two pointers alias, the answer is yes.
If you ask if a load can touch a given store, the answer is no.

Here you are saying the pointer aliasing rules apply even to
unwritten/unread pointers.
That to me, is ... very strange.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170903/9d717ba4/attachment.html>


More information about the llvm-commits mailing list