[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