summaryrefslogtreecommitdiffstats
path: root/llvm/lib/IR/DebugInfo.cpp
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2014-10-10 18:46:21 +0000
committerDavid Blaikie <dblaikie@gmail.com>2014-10-10 18:46:21 +0000
commit325c5757aa3a754da02be6356f0c83e8ec4dc751 (patch)
tree7c83e348b72a625a6887bbde92569e2ba20fc590 /llvm/lib/IR/DebugInfo.cpp
parentc90c1498f0806c376fd288508a682ff661b41463 (diff)
downloadbcm5719-llvm-325c5757aa3a754da02be6356f0c83e8ec4dc751.tar.gz
bcm5719-llvm-325c5757aa3a754da02be6356f0c83e8ec4dc751.zip
Revert "DebugInfo: Ensure that all debug location scope chains from instructions within a function, lead to the function itself."
This invariant is violated (& the assertions fire) on some Objective C++ in the test-suite. Reverting while I investigate. This reverts commit r219215. llvm-svn: 219523
Diffstat (limited to 'llvm/lib/IR/DebugInfo.cpp')
-rw-r--r--llvm/lib/IR/DebugInfo.cpp28
1 files changed, 0 insertions, 28 deletions
diff --git a/llvm/lib/IR/DebugInfo.cpp b/llvm/lib/IR/DebugInfo.cpp
index 4a52a9312fa..b5c27933f16 100644
--- a/llvm/lib/IR/DebugInfo.cpp
+++ b/llvm/lib/IR/DebugInfo.cpp
@@ -568,34 +568,6 @@ bool DISubprogram::Verify() const {
if (isLValueReference() && isRValueReference())
return false;
- // If a DISubprogram has an llvm::Function*, then scope chains from all
- // instructions within the function should lead to this DISubprogram.
- if (auto *F = getFunction()) {
- LLVMContext &Ctxt = F->getContext();
- for (auto &BB : *F) {
- for (auto &I : BB) {
- DebugLoc DL = I.getDebugLoc();
- if (DL.isUnknown())
- continue;
-
- MDNode *Scope = nullptr;
- MDNode *IA = nullptr;
- // walk the inlined-at scopes
- while (DL.getScopeAndInlinedAt(Scope, IA, F->getContext()), IA)
- DL = DebugLoc::getFromDILocation(IA);
- DL.getScopeAndInlinedAt(Scope, IA, Ctxt);
- assert(!IA);
- while (!DIDescriptor(Scope).isSubprogram()) {
- DILexicalBlockFile D(Scope);
- Scope = D.isLexicalBlockFile()
- ? D.getScope()
- : DebugLoc::getFromDILexicalBlock(Scope).getScope(Ctxt);
- }
- if (!DISubprogram(Scope).describes(F))
- return false;
- }
- }
- }
return DbgNode->getNumOperands() == 9 && getNumHeaderFields() == 12;
}
OpenPOWER on IntegriCloud