[LLVMdev] Mixing noalias and regular arguments
Kuperstein, Michael M
michael.m.kuperstein at intel.com
Sat May 25 23:31:36 PDT 2013
Ping?
(Is there a code owner for AA, btw?)
From: llvmdev-bounces at cs.uiuc.edu [mailto:llvmdev-bounces at cs.uiuc.edu] On Behalf Of Kuperstein, Michael M
Sent: Tuesday, May 21, 2013 18:23
To: LLVMdev at cs.uiuc.edu
Cc: Raoux, Thomas F
Subject: [LLVMdev] Mixing noalias and regular arguments
Hi all,
I'm trying to understand the semantics of noalias arguments, and I'm not entirely sure I got it correctly.
To the best of my understanding, if an argument is declared noalias, "This indicates that pointer values based on the argument do not alias pointer values which are not based on it" implies, among other things, that it cannot alias any other argument, even if that argument is NOT declared noalias.
However, currently, BasicAliasAnalysis doesn't recognize this case explicitly. Sometimes it will work for other reasons (e.g. if it knows the other argument does not get captured), but it's relatively easy to get circumstances where the result is MayAlias.
I'm attaching a patch that addresses this.
Can anyone offer an opinion on the basic issue and, assuming this is the desired behavior, on the patch?
Thanks,
Michael
---------------------------------------------------------------------
Intel Israel (74) Limited
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
---------------------------------------------------------------------
Intel Israel (74) Limited
This e-mail and any attachments may contain confidential material for
the sole use of the intended recipient(s). Any review or distribution
by others is strictly prohibited. If you are not the intended
recipient, please contact the sender and delete all copies.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130526/ba195ced/attachment.html>
More information about the llvm-dev
mailing list