DebugInfo: Prepare for DISubprogram/DILexicalBlock* to be gutted

An upcoming LLVM commit will remove this API, so stop using it.  Just
access the raw pointers using `operator->()`.

llvm-svn: 234848
This commit is contained in:
Duncan P. N. Exon Smith 2015-04-14 03:24:14 +00:00
parent b96610410f
commit 87afdeb8f5
1 changed files with 8 additions and 9 deletions

View File

@ -126,10 +126,9 @@ void CGDebugInfo::setLocation(SourceLocation Loc) {
if (PCLoc.isInvalid() || Scope.getFilename() == PCLoc.getFilename())
return;
if (llvm::DILexicalBlockFile LBF =
dyn_cast<llvm::MDLexicalBlockFile>(Scope)) {
if (auto *LBF = dyn_cast<llvm::MDLexicalBlockFile>(Scope)) {
llvm::DIDescriptor D = DBuilder.createLexicalBlockFile(
LBF.getContext(), getOrCreateFile(CurLoc));
LBF->getScope(), getOrCreateFile(CurLoc));
llvm::MDNode *N = D;
LexicalBlockStack.pop_back();
LexicalBlockStack.emplace_back(N);
@ -2500,16 +2499,16 @@ llvm::DISubprogram CGDebugInfo::getFunctionDeclaration(const Decl *D) {
}
}
if (MI != SPCache.end()) {
llvm::DISubprogram SP = dyn_cast_or_null<llvm::MDSubprogram>(MI->second);
if (SP && !SP.isDefinition())
auto *SP = dyn_cast_or_null<llvm::MDSubprogram>(MI->second);
if (SP && !SP->isDefinition())
return SP;
}
for (auto NextFD : FD->redecls()) {
auto MI = SPCache.find(NextFD->getCanonicalDecl());
if (MI != SPCache.end()) {
llvm::DISubprogram SP = dyn_cast_or_null<llvm::MDSubprogram>(MI->second);
if (SP && !SP.isDefinition())
auto *SP = dyn_cast_or_null<llvm::MDSubprogram>(MI->second);
if (SP && !SP->isDefinition())
return SP;
}
}
@ -2603,8 +2602,8 @@ void CGDebugInfo::EmitFunctionStart(GlobalDecl GD, SourceLocation Loc,
// If there is a DISubprogram for this function available then use it.
auto FI = SPCache.find(FD->getCanonicalDecl());
if (FI != SPCache.end()) {
llvm::DISubprogram SP = dyn_cast_or_null<llvm::MDSubprogram>(FI->second);
if (SP && SP.isDefinition()) {
auto *SP = dyn_cast_or_null<llvm::MDSubprogram>(FI->second);
if (SP && SP->isDefinition()) {
llvm::MDNode *SPN = SP;
LexicalBlockStack.emplace_back(SPN);
RegionMap[D].reset(SP);