summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
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/lib/Bitcode/Reader/BitcodeReader.cpp
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/lib/Bitcode/Reader/BitcodeReader.cpp')
-rw-r--r--llvm/lib/Bitcode/Reader/BitcodeReader.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
index 6b29f6d66a1..782738f5359 100644
--- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
@@ -1119,6 +1119,7 @@ static uint64_t getRawAttributeMask(Attribute::AttrKind Val) {
case Attribute::SwiftSelf: return 1ULL << 51;
case Attribute::SwiftError: return 1ULL << 52;
case Attribute::WriteOnly: return 1ULL << 53;
+ case Attribute::Speculatable: return 1ULL << 54;
case Attribute::Dereferenceable:
llvm_unreachable("dereferenceable attribute not supported in raw format");
break;
@@ -1315,6 +1316,8 @@ static Attribute::AttrKind getAttrFromCode(uint64_t Code) {
return Attribute::ReturnsTwice;
case bitc::ATTR_KIND_S_EXT:
return Attribute::SExt;
+ case bitc::ATTR_KIND_SPECULATABLE:
+ return Attribute::Speculatable;
case bitc::ATTR_KIND_STACK_ALIGNMENT:
return Attribute::StackAlignment;
case bitc::ATTR_KIND_STACK_PROTECT:
OpenPOWER on IntegriCloud