Add initial support for the convergent attribute.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@238264 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Owen Anderson
2015-05-26 23:48:40 +00:00
parent 1c74d4768a
commit 13146c7e3b
16 changed files with 61 additions and 5 deletions
+8 -2
View File
@@ -204,7 +204,7 @@ define void @f34()
; CHECK: define void @f34()
{
call void @nobuiltin() nobuiltin
; CHECK: call void @nobuiltin() #25
; CHECK: call void @nobuiltin() #26
ret void;
}
@@ -251,6 +251,11 @@ define dereferenceable_or_null(8) i8* @f42(i8* dereferenceable_or_null(8) %foo)
ret i8* %foo
}
; CHECK: define void @f43() #25
define void @f43() convergent {
ret void
}
; CHECK: attributes #0 = { noreturn }
; CHECK: attributes #1 = { nounwind }
; CHECK: attributes #2 = { readnone }
@@ -276,4 +281,5 @@ define dereferenceable_or_null(8) i8* @f42(i8* dereferenceable_or_null(8) %foo)
; CHECK: attributes #22 = { minsize }
; CHECK: attributes #23 = { noinline optnone }
; CHECK: attributes #24 = { jumptable }
; CHECK: attributes #25 = { nobuiltin }
; CHECK: attributes #25 = { convergent }
; CHECK: attributes #26 = { nobuiltin }