diff options
Diffstat (limited to 'lib/Target/NVPTX/NVPTXUtilities.cpp')
-rw-r--r-- | lib/Target/NVPTX/NVPTXUtilities.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/Target/NVPTX/NVPTXUtilities.cpp b/lib/Target/NVPTX/NVPTXUtilities.cpp index 5caa8bd..cf1feac 100644 --- a/lib/Target/NVPTX/NVPTXUtilities.cpp +++ b/lib/Target/NVPTX/NVPTXUtilities.cpp @@ -15,16 +15,16 @@ #include "llvm/IR/Constants.h" #include "llvm/IR/Function.h" #include "llvm/IR/GlobalVariable.h" +#include "llvm/IR/InstIterator.h" #include "llvm/IR/Module.h" #include "llvm/IR/Operator.h" +#include "llvm/Support/ManagedStatic.h" +#include "llvm/Support/MutexGuard.h" #include <algorithm> #include <cstring> #include <map> #include <string> #include <vector> -#include "llvm/Support/ManagedStatic.h" -#include "llvm/IR/InstIterator.h" -#include "llvm/Support/MutexGuard.h" using namespace llvm; @@ -52,7 +52,7 @@ static void cacheAnnotationFromMD(const MDNode *md, key_val_pair_t &retval) { assert(prop && "Annotation property not a string"); // value - ConstantInt *Val = dyn_cast<ConstantInt>(md->getOperand(i + 1)); + ConstantInt *Val = mdconst::dyn_extract<ConstantInt>(md->getOperand(i + 1)); assert(Val && "Value operand not a constant int"); std::string keyname = prop->getString().str(); @@ -75,7 +75,8 @@ static void cacheAnnotationFromMD(const Module *m, const GlobalValue *gv) { for (unsigned i = 0, e = NMD->getNumOperands(); i != e; ++i) { const MDNode *elem = NMD->getOperand(i); - Value *entity = elem->getOperand(0); + GlobalValue *entity = + mdconst::dyn_extract_or_null<GlobalValue>(elem->getOperand(0)); // entity may be null due to DCE if (!entity) continue; @@ -322,7 +323,7 @@ bool llvm::getAlign(const CallInst &I, unsigned index, unsigned &align) { if (MDNode *alignNode = I.getMetadata("callalign")) { for (int i = 0, n = alignNode->getNumOperands(); i < n; i++) { if (const ConstantInt *CI = - dyn_cast<ConstantInt>(alignNode->getOperand(i))) { + mdconst::dyn_extract<ConstantInt>(alignNode->getOperand(i))) { unsigned v = CI->getZExtValue(); if ((v >> 16) == index) { align = v & 0xFFFF; |