mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2026-04-24 13:18:17 +00:00
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241979 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -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 }
|
||||
|
||||
Reference in New Issue
Block a user