[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