walk DbgRegionStartInst and DbgRegionEndInst

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77604 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Devang Patel 2009-07-30 17:30:23 +00:00
parent e8b3e02dce
commit e802f1c4c3
2 changed files with 26 additions and 2 deletions

View File

@ -633,6 +633,12 @@ namespace llvm {
/// 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);

View File

@ -920,6 +920,10 @@ void DebugInfoEnumerator::enumerateModule(Module &M) {
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 @@ void DebugInfoEnumerator::enumerateType(DIType DT) {
}
}
/// 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 @@ void DebugInfoEnumerator::enumerateStopPoint(DbgStopPointInst *SPI) {
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())