"there is not any instruction with attached debug info in this module" does not mean...
authorDevang Patel <dpatel@apple.com>
Tue, 13 Oct 2009 17:35:35 +0000 (17:35 +0000)
committerDevang Patel <dpatel@apple.com>
Tue, 13 Oct 2009 17:35:35 +0000 (17:35 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83984 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/DebugInfo.cpp

index 81d0ddb6f5555da3366a48820f2487aafa32281f..7bb7e9b4af2d5ebacbe62a89037896cb3981b12b 100644 (file)
@@ -969,8 +969,6 @@ void DebugInfoFinder::processModule(Module &M) {
 #ifdef ATTACH_DEBUG_INFO_TO_AN_INSN
   MetadataContext &TheMetadata = M.getContext().getMetadata();
   unsigned MDDbgKind = TheMetadata.getMDKind("dbg");
-  if (!MDDbgKind)
-    return;
 #endif
   for (Module::iterator I = M.begin(), E = M.end(); I != E; ++I)
     for (Function::iterator FI = (*I).begin(), FE = (*I).end(); FI != FE; ++FI)
@@ -987,15 +985,17 @@ void DebugInfoFinder::processModule(Module &M) {
         else if (DbgDeclareInst *DDI = dyn_cast<DbgDeclareInst>(BI))
           processDeclare(DDI);
 #ifdef ATTACH_DEBUG_INFO_TO_AN_INSN
-        else if (MDNode *L = TheMetadata.getMD(MDDbgKind, BI)) {
-          DILocation Loc(L);
-          DIScope S(Loc.getScope().getNode());
-          if (S.isCompileUnit())
-            addCompileUnit(DICompileUnit(S.getNode()));
-          else if (S.isSubprogram())
-            processSubprogram(DISubprogram(S.getNode()));
-          else if (S.isLexicalBlock())
-            processLexicalBlock(DILexicalBlock(S.getNode()));
+        else if (MDDbgKind) {
+          if (MDNode *L = TheMetadata.getMD(MDDbgKind, BI)) {
+            DILocation Loc(L);
+            DIScope S(Loc.getScope().getNode());
+            if (S.isCompileUnit())
+              addCompileUnit(DICompileUnit(S.getNode()));
+            else if (S.isSubprogram())
+              processSubprogram(DISubprogram(S.getNode()));
+            else if (S.isLexicalBlock())
+              processLexicalBlock(DILexicalBlock(S.getNode()));
+          }
         }
 #endif
       }