[LLVMdev] Attribute to mark that function only access memory through it's arguments

Igor Laevsky igor at azulsystems.com
Thu Jun 18 10:58:10 PDT 2015


Hi,

Currently in AliasAnalysis we can model ModRef behaviour for functions which
only access memory through their pointer arguments. However we can't
express this propery as a function attribute.

For example, for intrinsics we can specify ReadWriteArgMem or ReadArgMem
attributes in tablegen definitions. But due to the lack of the related function
attributes on the llvm ir level, this intrinsics would be modelled as if they
were clobbering arbitrary memory.

It feels very naturall to add new function attribute which can cover such cases.

I have a patch (http://reviews.llvm.org/D10398) in which I added this
attribute. Currently there is some discussion on how to name it and how it should
behave when defined together with other fucntion attributes.

I wanted to get some feedback on this. Is this attribute required at all? Maybe
there is already a way of expressing such things?

Thanks,
Igor





More information about the llvm-dev mailing list