aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
-rw-r--r--llvm/lib/Bitcode/Reader/BitcodeReader.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
index 93b07fc0db30..8d5a2555f9af 100644
--- a/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
+++ b/llvm/lib/Bitcode/Reader/BitcodeReader.cpp
@@ -69,7 +69,6 @@
#include "llvm/Support/Error.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/ErrorOr.h"
-#include "llvm/Support/ManagedStatic.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/raw_ostream.h"
@@ -1243,6 +1242,8 @@ static AtomicRMWInst::BinOp getDecodedRMWOperation(unsigned Val) {
case bitc::RMW_UMIN: return AtomicRMWInst::UMin;
case bitc::RMW_FADD: return AtomicRMWInst::FAdd;
case bitc::RMW_FSUB: return AtomicRMWInst::FSub;
+ case bitc::RMW_FMAX: return AtomicRMWInst::FMax;
+ case bitc::RMW_FMIN: return AtomicRMWInst::FMin;
}
}
@@ -1384,6 +1385,9 @@ static bool isConstExprSupported(uint8_t Opcode) {
if (Opcode >= BitcodeConstant::FirstSpecialOpcode)
return true;
+ if (Instruction::isBinaryOp(Opcode))
+ return ConstantExpr::isSupportedBinOp(Opcode);
+
return !ExpandConstantExprs;
}
@@ -1851,6 +1855,8 @@ static Attribute::AttrKind getAttrFromCode(uint64_t Code) {
return Attribute::DisableSanitizerInstrumentation;
case bitc::ATTR_KIND_ELEMENTTYPE:
return Attribute::ElementType;
+ case bitc::ATTR_KIND_FNRETTHUNK_EXTERN:
+ return Attribute::FnRetThunkExtern;
case bitc::ATTR_KIND_INACCESSIBLEMEM_ONLY:
return Attribute::InaccessibleMemOnly;
case bitc::ATTR_KIND_INACCESSIBLEMEM_OR_ARGMEMONLY:
@@ -3672,7 +3678,7 @@ GlobalValue::SanitizerMetadata deserializeSanitizerMetadata(unsigned V) {
if (V & (1 << 1))
Meta.NoHWAddress = true;
if (V & (1 << 2))
- Meta.NoMemtag = true;
+ Meta.Memtag = true;
if (V & (1 << 3))
Meta.IsDynInit = true;
return Meta;
@@ -7441,10 +7447,9 @@ class BitcodeErrorCategoryType : public std::error_category {
} // end anonymous namespace
-static ManagedStatic<BitcodeErrorCategoryType> ErrorCategory;
-
const std::error_category &llvm::BitcodeErrorCategory() {
- return *ErrorCategory;
+ static BitcodeErrorCategoryType ErrorCategory;
+ return ErrorCategory;
}
static Expected<StringRef> readBlobInRecord(BitstreamCursor &Stream,