diff options
author | Devang Patel <dpatel@apple.com> | 2009-08-06 20:53:24 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2009-08-06 20:53:24 +0000 |
commit | cd4688905feab0270ae0d0b28354ccb44b0eb2e4 (patch) | |
tree | 90b46a2f52c2628dca3bc9b92989497d8f242e0c | |
parent | ae5ead6df47f03c115edbc3d49f463b41183ca0b (diff) | |
download | bcm5719-llvm-cd4688905feab0270ae0d0b28354ccb44b0eb2e4.tar.gz bcm5719-llvm-cd4688905feab0270ae0d0b28354ccb44b0eb2e4.zip |
Use DebugInfoFinder
llvm-svn: 78334
-rw-r--r-- | llvm/lib/Target/PIC16/PIC16DebugInfo.cpp | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/llvm/lib/Target/PIC16/PIC16DebugInfo.cpp b/llvm/lib/Target/PIC16/PIC16DebugInfo.cpp index fd0d309e141..0a44bfe2a5d 100644 --- a/llvm/lib/Target/PIC16/PIC16DebugInfo.cpp +++ b/llvm/lib/Target/PIC16/PIC16DebugInfo.cpp @@ -200,13 +200,11 @@ short PIC16DbgInfo::getStorageClass(DIGlobalVariable DIGV) { /// required initializations. void PIC16DbgInfo::BeginModule(Module &M) { // Emit file directive for module. - SmallVector<GlobalVariable *, 2> CUs; - SmallVector<GlobalVariable *, 4> GVs; - SmallVector<GlobalVariable *, 4> SPs; - CollectDebugInfoAnchors(M, CUs, GVs, SPs); - if (!CUs.empty()) { + DebugInfoFinder DbgFinder; + DbgFinder.processModule(M); + if (DbgFinder.compile_unit_count() != 0) { // FIXME : What if more then one CUs are present in a module ? - GlobalVariable *CU = CUs[0]; + GlobalVariable *CU = *DbgFinder.compile_unit_begin(); EmitDebugDirectives = true; SwitchToCU(CU); } @@ -431,15 +429,11 @@ void PIC16DbgInfo::EmitSymbol(std::string Name, short Class, unsigned short /// EmitVarDebugInfo - Emit debug information for all variables. /// void PIC16DbgInfo::EmitVarDebugInfo(Module &M) { - SmallVector<GlobalVariable *, 2> CUs; - SmallVector<GlobalVariable *, 4> GVs; - SmallVector<GlobalVariable *, 4> SPs; - CollectDebugInfoAnchors(M, CUs, GVs, SPs); - if (GVs.empty()) - return; - - for (SmallVector<GlobalVariable *, 4>::iterator I = GVs.begin(), - E = GVs.end(); I != E; ++I) { + DebugInfoFinder DbgFinder; + DbgFinder.processModule(M); + + for (DebugInfoFinder::iterator I = DbgFinder.global_variable_begin(), + E = DbgFinder.global_variable_end(); I != E; ++I) { DIGlobalVariable DIGV(*I); DIType Ty = DIGV.getType(); unsigned short TypeNo = 0; |