diff options
author | Igor Laevsky <igmyrj@gmail.com> | 2015-07-11 10:30:36 +0000 |
---|---|---|
committer | Igor Laevsky <igmyrj@gmail.com> | 2015-07-11 10:30:36 +0000 |
commit | 39d662f7ba0aa80799a2c6ea2ca84b0c0727db66 (patch) | |
tree | 1486500f54fd10e5c5b7b147dffcaf5a7c6b9bac /llvm/test/Bitcode/attributes.ll | |
parent | 15f5d9731123d31af0baf935fbcc07a001d11ebd (diff) | |
download | bcm5719-llvm-39d662f7ba0aa80799a2c6ea2ca84b0c0727db66.tar.gz bcm5719-llvm-39d662f7ba0aa80799a2c6ea2ca84b0c0727db66.zip |
Add argmemonly attribute.
This change adds new attribute called "argmemonly". Function marked with this attribute can only access memory through it's argument pointers. This attribute directly corresponds to the "OnlyAccessesArgumentPointees" ModRef behaviour in alias analysis.
Differential Revision: http://reviews.llvm.org/D10398
llvm-svn: 241979
Diffstat (limited to 'llvm/test/Bitcode/attributes.ll')
-rw-r--r-- | llvm/test/Bitcode/attributes.ll | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/llvm/test/Bitcode/attributes.ll b/llvm/test/Bitcode/attributes.ll index cae6a2e01e6..a0bc66642f7 100644 --- a/llvm/test/Bitcode/attributes.ll +++ b/llvm/test/Bitcode/attributes.ll @@ -204,7 +204,7 @@ define void @f34() ; CHECK: define void @f34() { call void @nobuiltin() nobuiltin -; CHECK: call void @nobuiltin() #26 +; CHECK: call void @nobuiltin() #27 ret void; } @@ -256,6 +256,12 @@ define void @f43() convergent { ret void } +define void @f44() argmemonly +; CHECK: define void @f44() #26 +{ + ret void; +} + ; CHECK: attributes #0 = { noreturn } ; CHECK: attributes #1 = { nounwind } ; CHECK: attributes #2 = { readnone } @@ -282,4 +288,5 @@ define void @f43() convergent { ; CHECK: attributes #23 = { noinline optnone } ; CHECK: attributes #24 = { jumptable } ; CHECK: attributes #25 = { convergent } -; CHECK: attributes #26 = { nobuiltin } +; CHECK: attributes #26 = { argmemonly } +; CHECK: attributes #27 = { nobuiltin } |