[PATCH] D20206: GlobalsAA: Don't assume that intrinsics can't access global variables
Hal Finkel via llvm-commits
llvm-commits at lists.llvm.org
Thu May 12 09:26:10 PDT 2016
----- Original Message -----
> From: "Tom Stellard" <thomas.stellard at amd.com>
> To: "thomas stellard" <thomas.stellard at amd.com>, hfinkel at anl.gov
> Cc: dberlin at dberlin.org, llvm-commits at lists.llvm.org
> Sent: Thursday, May 12, 2016 10:46:33 AM
> Subject: Re: [PATCH] D20206: GlobalsAA: Don't assume that intrinsics can't access global variables
>
> tstellarAMD added a comment.
>
> In http://reviews.llvm.org/D20206#428381, @dberlin wrote:
>
> > So this is an interesting question.
> > Outside of very specific intrinsics (barriers), or intrinsics
> > passed global
> > variables, which intrinsics do you believe can affect global
> > variables and
> > why?
>
>
> There probably aren't many besides barriers and maybe some of the
> cache flushing intrinsics.
>
> > :)
>
> >
>
> > (Because if the answer is "none", we should probably make the
> > ability to
>
> > read/write non-passed-in globals an intrinsic property that folks
> > have to
>
> > opt-in to)
>
>
> My thinking is that is would be easier to treat intrinsics and
> functions the same rather than having to add an attribute that makes
> intrinsics behave like functions. There are already attributes
> like: readnone, readonly, argmemonly
We should at least be checking for these here, especially perhaps argmemonly if the others are handled elsewhere. Please also send a message to llvm-dev, we'll need to make sure that all of the target-specific intrinsics headers are updated to have argmemonly where appropriate. I don't think an effort was ever made to do that.
-Hal
> that can be used to specify
> that an intrinsic won't access globals. It doesn't seem like it is
> too much trouble to ask people to use those for intrinsics, and it
> looks like most intrinsics already are using these.
>
>
> http://reviews.llvm.org/D20206
>
>
>
>
--
Hal Finkel
Assistant Computational Scientist
Leadership Computing Facility
Argonne National Laboratory
More information about the llvm-commits
mailing list