summaryrefslogtreecommitdiffstats
path: root/llvm/test/Bitcode
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2017-04-28 20:25:27 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2017-04-28 20:25:27 +0000
commitb19b57ea60da58d81c4af03a7ef2a1dd6a640267 (patch)
tree316220d5be2377b1456f2263960e67b6b11a5ed2 /llvm/test/Bitcode
parent744c215e2958c13854c1d730a323132ce2dc9c57 (diff)
downloadbcm5719-llvm-b19b57ea60da58d81c4af03a7ef2a1dd6a640267.tar.gz
bcm5719-llvm-b19b57ea60da58d81c4af03a7ef2a1dd6a640267.zip
Add speculatable function attribute
This attribute tells the optimizer that the function may be speculated. Patch by Tom Stellard llvm-svn: 301680
Diffstat (limited to 'llvm/test/Bitcode')
-rw-r--r--llvm/test/Bitcode/attributes.ll10
-rw-r--r--llvm/test/Bitcode/compatibility.ll10
2 files changed, 15 insertions, 5 deletions
diff --git a/llvm/test/Bitcode/attributes.ll b/llvm/test/Bitcode/attributes.ll
index 9fdf54b7b30..18aa12c7af9 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() #33
+; CHECK: call void @nobuiltin() #34
ret void;
}
@@ -334,6 +334,11 @@ define void @f56() writeonly
ret void
}
+; CHECK: define void @f57() #33
+define void @f57() speculatable {
+ ret void
+}
+
; CHECK: attributes #0 = { noreturn }
; CHECK: attributes #1 = { nounwind }
; CHECK: attributes #2 = { readnone }
@@ -367,4 +372,5 @@ define void @f56() writeonly
; CHECK: attributes #30 = { allocsize(0) }
; CHECK: attributes #31 = { allocsize(0,1) }
; CHECK: attributes #32 = { writeonly }
-; CHECK: attributes #33 = { nobuiltin }
+; CHECK: attributes #33 = { speculatable }
+; CHECK: attributes #34 = { nobuiltin }
diff --git a/llvm/test/Bitcode/compatibility.ll b/llvm/test/Bitcode/compatibility.ll
index b1f52bbe059..bc77e05d409 100644
--- a/llvm/test/Bitcode/compatibility.ll
+++ b/llvm/test/Bitcode/compatibility.ll
@@ -3,7 +3,7 @@
; Please update this file when making any IR changes. Information on the
; release process for this file is available here:
;
-; http://llvm.org/docs/DeveloperPolicy.html#ir-backwards-compatibility
+; http://llvm.org/docs/DeveloperPolicy.html#ir-backwards-compatibility
; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s
; RUN-PR24755: verify-uselistorder < %s
@@ -1246,7 +1246,7 @@ exit:
; CHECK: select <2 x i1> <i1 true, i1 false>, <2 x i8> <i8 2, i8 3>, <2 x i8> <i8 3, i8 2>
call void @f.nobuiltin() builtin
- ; CHECK: call void @f.nobuiltin() #41
+ ; CHECK: call void @f.nobuiltin() #42
call fastcc noalias i32* @f.noalias() noinline
; CHECK: call fastcc noalias i32* @f.noalias() #12
@@ -1613,6 +1613,9 @@ normal:
declare void @f.writeonly() writeonly
; CHECK: declare void @f.writeonly() #40
+declare void @f.speculatable() speculatable
+; CHECK: declare void @f.speculatable() #41
+
;; Constant Expressions
define i8** @constexpr() {
@@ -1661,7 +1664,8 @@ define i8** @constexpr() {
; CHECK: attributes #38 = { nounwind readonly }
; CHECK: attributes #39 = { inaccessiblemem_or_argmemonly nounwind }
; CHECK: attributes #40 = { writeonly }
-; CHECK: attributes #41 = { builtin }
+; CHECK: attributes #41 = { speculatable }
+; CHECK: attributes #42 = { builtin }
;; Metadata
OpenPOWER on IntegriCloud