Merge pull request #898 from Vsevolod-Livinskij/fix_for_trunk
Fix for trunk (rev. 221167 and rev. 221375)
This commit is contained in:
12
cbackend.cpp
12
cbackend.cpp
@@ -152,7 +152,11 @@ namespace {
|
|||||||
incorporateValue(Aliasee);
|
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;
|
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.
|
// Get types from functions.
|
||||||
for (llvm::Module::const_iterator FI = M.begin(), E = M.end(); FI != E; ++FI) {
|
for (llvm::Module::const_iterator FI = M.begin(), E = M.end(); FI != E; ++FI) {
|
||||||
@@ -178,7 +182,11 @@ namespace {
|
|||||||
// Incorporate types hiding in metadata.
|
// Incorporate types hiding in metadata.
|
||||||
I.getAllMetadataOtherThanDebugLoc(MDForInst);
|
I.getAllMetadataOtherThanDebugLoc(MDForInst);
|
||||||
for (unsigned i = 0, e = MDForInst.size(); i != e; ++i)
|
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);
|
incorporateMDNode(MDForInst[i].second);
|
||||||
|
#else // LLVM 3.6+
|
||||||
|
incorporateMDNode(llvm::cast<llvm::MDNode>(MDForInst[i].second));
|
||||||
|
#endif
|
||||||
MDForInst.clear();
|
MDForInst.clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -187,7 +195,11 @@ namespace {
|
|||||||
E = M.named_metadata_end(); I != E; ++I) {
|
E = M.named_metadata_end(); I != E; ++I) {
|
||||||
const llvm::NamedMDNode *NMD = I;
|
const llvm::NamedMDNode *NMD = I;
|
||||||
for (unsigned i = 0, e = NMD->getNumOperands(); i != e; ++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));
|
incorporateMDNode(NMD->getOperand(i));
|
||||||
|
#else // LLVM 3.6+
|
||||||
|
incorporateMDNode(llvm::cast<llvm::MDNode>(NMD->getOperand(i)));
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -168,7 +168,11 @@ lStripUnusedDebugInfo(llvm::Module *module) {
|
|||||||
// loop over the compile units that contributed to the final module
|
// loop over the compile units that contributed to the final module
|
||||||
if (llvm::NamedMDNode *cuNodes = module->getNamedMetadata("llvm.dbg.cu")) {
|
if (llvm::NamedMDNode *cuNodes = module->getNamedMetadata("llvm.dbg.cu")) {
|
||||||
for (unsigned i = 0, ie = cuNodes->getNumOperands(); i != ie; ++i) {
|
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);
|
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::DICompileUnit cu(cuNode);
|
||||||
llvm::DIArray subprograms = cu.getSubprograms();
|
llvm::DIArray subprograms = cu.getSubprograms();
|
||||||
std::vector<llvm::Value *> usedSubprograms;
|
std::vector<llvm::Value *> usedSubprograms;
|
||||||
|
|||||||
Reference in New Issue
Block a user