[LLVMdev] [RFC] Scoped no-alias metadata

Dan Gohman dan433584 at gmail.com
Mon Dec 3 11:51:16 PST 2012


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.

Dan



More information about the llvm-dev mailing list