summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/SanitizerMetadata.cpp
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2014-12-09 18:39:32 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2014-12-09 18:39:32 +0000
commitfb494914779d4e2b86b038a1491138d305e46789 (patch)
treea2d3d2e3ced8ad76719bb8128792c26d767d85a7 /clang/lib/CodeGen/SanitizerMetadata.cpp
parent5bf8fef58013e2c97180236fa6973faa40435d5f (diff)
downloadbcm5719-llvm-fb494914779d4e2b86b038a1491138d305e46789.tar.gz
bcm5719-llvm-fb494914779d4e2b86b038a1491138d305e46789.zip
IR: Update clang for Metadata/Value split in r223802
Match LLVM API changes from r223802. llvm-svn: 223803
Diffstat (limited to 'clang/lib/CodeGen/SanitizerMetadata.cpp')
-rw-r--r--clang/lib/CodeGen/SanitizerMetadata.cpp28
1 files changed, 15 insertions, 13 deletions
diff --git a/clang/lib/CodeGen/SanitizerMetadata.cpp b/clang/lib/CodeGen/SanitizerMetadata.cpp
index 70bc0581a5b..7c38b2807e9 100644
--- a/clang/lib/CodeGen/SanitizerMetadata.cpp
+++ b/clang/lib/CodeGen/SanitizerMetadata.cpp
@@ -30,8 +30,8 @@ void SanitizerMetadata::reportGlobalToASan(llvm::GlobalVariable *GV,
IsDynInit &= !CGM.isInSanitizerBlacklist(GV, Loc, Ty, "init");
IsBlacklisted |= CGM.isInSanitizerBlacklist(GV, Loc, Ty);
- llvm::Value *LocDescr = nullptr;
- llvm::Value *GlobalName = nullptr;
+ llvm::Metadata *LocDescr = nullptr;
+ llvm::Metadata *GlobalName = nullptr;
llvm::LLVMContext &VMContext = CGM.getLLVMContext();
if (!IsBlacklisted) {
// Don't generate source location and global name if it is blacklisted -
@@ -41,10 +41,12 @@ void SanitizerMetadata::reportGlobalToASan(llvm::GlobalVariable *GV,
GlobalName = llvm::MDString::get(VMContext, Name);
}
- llvm::Value *GlobalMetadata[] = {
- GV, LocDescr, GlobalName,
- llvm::ConstantInt::get(llvm::Type::getInt1Ty(VMContext), IsDynInit),
- llvm::ConstantInt::get(llvm::Type::getInt1Ty(VMContext), IsBlacklisted)};
+ llvm::Metadata *GlobalMetadata[] = {
+ llvm::ConstantAsMetadata::get(GV), LocDescr, GlobalName,
+ llvm::ConstantAsMetadata::get(
+ llvm::ConstantInt::get(llvm::Type::getInt1Ty(VMContext), IsDynInit)),
+ llvm::ConstantAsMetadata::get(llvm::ConstantInt::get(
+ llvm::Type::getInt1Ty(VMContext), IsBlacklisted))};
llvm::MDNode *ThisGlobal = llvm::MDNode::get(VMContext, GlobalMetadata);
llvm::NamedMDNode *AsanGlobals =
@@ -70,9 +72,8 @@ void SanitizerMetadata::disableSanitizerForGlobal(llvm::GlobalVariable *GV) {
}
void SanitizerMetadata::disableSanitizerForInstruction(llvm::Instruction *I) {
- I->setMetadata(
- CGM.getModule().getMDKindID("nosanitize"),
- llvm::MDNode::get(CGM.getLLVMContext(), ArrayRef<llvm::Value *>()));
+ I->setMetadata(CGM.getModule().getMDKindID("nosanitize"),
+ llvm::MDNode::get(CGM.getLLVMContext(), None));
}
llvm::MDNode *SanitizerMetadata::getLocationMetadata(SourceLocation Loc) {
@@ -80,11 +81,12 @@ llvm::MDNode *SanitizerMetadata::getLocationMetadata(SourceLocation Loc) {
if (!PLoc.isValid())
return nullptr;
llvm::LLVMContext &VMContext = CGM.getLLVMContext();
- llvm::Value *LocMetadata[] = {
+ llvm::Metadata *LocMetadata[] = {
llvm::MDString::get(VMContext, PLoc.getFilename()),
- llvm::ConstantInt::get(llvm::Type::getInt32Ty(VMContext), PLoc.getLine()),
- llvm::ConstantInt::get(llvm::Type::getInt32Ty(VMContext),
- PLoc.getColumn()),
+ llvm::ConstantAsMetadata::get(llvm::ConstantInt::get(
+ llvm::Type::getInt32Ty(VMContext), PLoc.getLine())),
+ llvm::ConstantAsMetadata::get(llvm::ConstantInt::get(
+ llvm::Type::getInt32Ty(VMContext), PLoc.getColumn())),
};
return llvm::MDNode::get(VMContext, LocMetadata);
}
OpenPOWER on IntegriCloud