[LLVMdev] [RFC] Scoped no-alias metadata
dberlin at dberlin.org
Mon Dec 3 11:53:20 PST 2012
On Mon, Dec 3, 2012 at 11:51 AM, Dan Gohman <dan433584 at gmail.com> wrote:
> On Mon, Dec 3, 2012 at 10:15 AM, Daniel Berlin <dberlin at dberlin.org> wrote:
>> On Mon, Dec 3, 2012 at 6:29 AM, Krzysztof Parzyszek
>>> If the object isn't modified, then none of this matters. Nobody cares about
>>> aliasing between loads.
>> It's funny.
>> This was essentially my argument on the GCC list about 4 years ago (or
>> maybe it's longer now. i'm getting old), and someone brought up some
>> good examples where they cared about load-load aliasing, even besides
>> loop dependences analysis.
>> Let me see if i can hunt them down in the mailing list archives.
> LLVM IR already has faced this problem, with the noalias argument
> attribute. My solution for this was to define NoAlias to ignore
> load-load dependencies, on the theory that clients which would care
> about load-load dependencies should know that they care, so they could
> use a different API or pass a special flag into the AliasAnalysis API.
> The current definition has a few vague aspects, but as far as I know
> the basic concept works.
I have no particular problem with this, as long as we are consistent
and explain this is the case :)
More information about the llvm-dev