Merge pull request #898 from Vsevolod-Livinskij/fix_for_trunk

Fix for trunk (rev. 221167 and rev. 221375)
This commit is contained in:
Dmitry Babokin
2014-11-06 08:57:57 -08:00
2 changed files with 16 additions and 0 deletions

View File

@@ -152,7 +152,11 @@ namespace {
incorporateValue(Aliasee);
}
#if defined(LLVM_3_2) || defined(LLVM_3_3) || defined(LLVM_3_4) || defined(LLVM_3_5)
llvm::SmallVector<std::pair<unsigned, llvm::MDNode*>, 4> MDForInst;
#else // LLVM 3.6+
llvm::SmallVector<std::pair<unsigned, llvm::Value*>, 4> MDForInst;
#endif
// Get types from functions.
for (llvm::Module::const_iterator FI = M.begin(), E = M.end(); FI != E; ++FI) {
@@ -178,7 +182,11 @@ namespace {
// Incorporate types hiding in metadata.
I.getAllMetadataOtherThanDebugLoc(MDForInst);
for (unsigned i = 0, e = MDForInst.size(); i != e; ++i)
#if defined(LLVM_3_2) || defined(LLVM_3_3) || defined(LLVM_3_4) || defined(LLVM_3_5)
incorporateMDNode(MDForInst[i].second);
#else // LLVM 3.6+
incorporateMDNode(llvm::cast<llvm::MDNode>(MDForInst[i].second));
#endif
MDForInst.clear();
}
}
@@ -187,7 +195,11 @@ namespace {
E = M.named_metadata_end(); I != E; ++I) {
const llvm::NamedMDNode *NMD = I;
for (unsigned i = 0, e = NMD->getNumOperands(); i != e; ++i)
#if defined(LLVM_3_2) || defined(LLVM_3_3) || defined(LLVM_3_4) || defined(LLVM_3_5)
incorporateMDNode(NMD->getOperand(i));
#else // LLVM 3.6+
incorporateMDNode(llvm::cast<llvm::MDNode>(NMD->getOperand(i)));
#endif
}
}

View File

@@ -168,7 +168,11 @@ lStripUnusedDebugInfo(llvm::Module *module) {
// loop over the compile units that contributed to the final module
if (llvm::NamedMDNode *cuNodes = module->getNamedMetadata("llvm.dbg.cu")) {
for (unsigned i = 0, ie = cuNodes->getNumOperands(); i != ie; ++i) {
#if defined(LLVM_3_2) || defined(LLVM_3_3) || defined(LLVM_3_4) || defined(LLVM_3_5)
llvm::MDNode *cuNode = cuNodes->getOperand(i);
#else // LLVM 3.6+
llvm::MDNode *cuNode = llvm::cast<llvm::MDNode>(cuNodes->getOperand(i));
#endif
llvm::DICompileUnit cu(cuNode);
llvm::DIArray subprograms = cu.getSubprograms();
std::vector<llvm::Value *> usedSubprograms;