[llvm-commits] [llvm] r77604 - in /llvm/trunk: include/llvm/Analysis/DebugInfo.h lib/Analysis/DebugInfo.cpp

Devang Patel dpatel at apple.com
Thu Jul 30 10:30:23 PDT 2009


Author: dpatel
Date: Thu Jul 30 12:30:23 2009
New Revision: 77604

URL: http://llvm.org/viewvc/llvm-project?rev=77604&view=rev
Log:
walk DbgRegionStartInst and DbgRegionEndInst

Modified:
    llvm/trunk/include/llvm/Analysis/DebugInfo.h
    llvm/trunk/lib/Analysis/DebugInfo.cpp

Modified: llvm/trunk/include/llvm/Analysis/DebugInfo.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/DebugInfo.h?rev=77604&r1=77603&r2=77604&view=diff

==============================================================================
--- llvm/trunk/include/llvm/Analysis/DebugInfo.h (original)
+++ llvm/trunk/include/llvm/Analysis/DebugInfo.h Thu Jul 30 12:30:23 2009
@@ -633,6 +633,12 @@
     /// enumerateFuncStart - Enumberate DbgFuncStartInst.
     void enumerateFuncStart(DbgFuncStartInst *FSI);
 
+    /// enumerateRegionStart - Enumerate DbgRegionStart.
+    void enumerateRegionStart(DbgRegionStartInst *DRS);
+
+    /// enumerateRegionEnd - Enumerate DbgRegionEnd.
+    void enumerateRegionEnd(DbgRegionEndInst *DRE);
+
     /// addCompileUnit - Add compile unit into CUs.
     bool addCompileUnit(DICompileUnit CU);
     

Modified: llvm/trunk/lib/Analysis/DebugInfo.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/DebugInfo.cpp?rev=77604&r1=77603&r2=77604&view=diff

==============================================================================
--- llvm/trunk/lib/Analysis/DebugInfo.cpp (original)
+++ llvm/trunk/lib/Analysis/DebugInfo.cpp Thu Jul 30 12:30:23 2009
@@ -920,6 +920,10 @@
           enumerateStopPoint(SPI);
         else if (DbgFuncStartInst *FSI = dyn_cast<DbgFuncStartInst>(BI))
           enumerateFuncStart(FSI);
+        else if (DbgRegionStartInst *DRS = dyn_cast<DbgRegionStartInst>(BI))
+          enumerateRegionStart(DRS);
+        else if (DbgRegionEndInst *DRE = dyn_cast<DbgRegionEndInst>(BI))
+          enumerateRegionEnd(DRE);
       }
   
   for (Module::global_iterator GVI = M.global_begin(), GVE = M.global_end();
@@ -965,8 +969,10 @@
   }
 }
 
-/// enumerateSubprogram - Enumberate DISubprogram.
+/// enumerateSubprogram - Enumerate DISubprogram.
 void DebugInfoEnumerator::enumerateSubprogram(DISubprogram SP) {
+  if (SP.isNull())
+    return;
   if (!addSubprogram(SP))
     return;
   addCompileUnit(SP.getCompileUnit());
@@ -979,12 +985,24 @@
   addCompileUnit(DICompileUnit(Context));
 }
 
-/// enumerateFuncStart - Enumberate DbgFuncStartInst.
+/// enumerateFuncStart - Enumerate DbgFuncStartInst.
 void DebugInfoEnumerator::enumerateFuncStart(DbgFuncStartInst *FSI) {
   GlobalVariable *SP = dyn_cast<GlobalVariable>(FSI->getSubprogram());
   enumerateSubprogram(DISubprogram(SP));
 }
 
+/// enumerateRegionStart - Enumerate DbgRegionStart.
+void DebugInfoEnumerator::enumerateRegionStart(DbgRegionStartInst *DRS) {
+  GlobalVariable *SP = dyn_cast<GlobalVariable>(DRS->getContext());
+  enumerateSubprogram(DISubprogram(SP));
+}
+
+/// enumerateRegionEnd - Enumerate DbgRegionEnd.
+void DebugInfoEnumerator::enumerateRegionEnd(DbgRegionEndInst *DRE) {
+  GlobalVariable *SP = dyn_cast<GlobalVariable>(DRE->getContext());
+  enumerateSubprogram(DISubprogram(SP));
+}
+
 /// addCompileUnit - Add compile unit into CUs.
 bool DebugInfoEnumerator::addCompileUnit(DICompileUnit CU) {
   if (CU.isNull())





More information about the llvm-commits mailing list