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 | b16b4c339f37d36a69737738e86894dde06a3501 (patch) | |
tree | 22770c9bd8c5e4c6a7267e9c760d265712f77db9 /lib/Target/PIC16 | |
parent | 791211fbaf493253b5a7ea96f03e4cdc4456fb4f (diff) | |
download | external_llvm-b16b4c339f37d36a69737738e86894dde06a3501.zip external_llvm-b16b4c339f37d36a69737738e86894dde06a3501.tar.gz external_llvm-b16b4c339f37d36a69737738e86894dde06a3501.tar.bz2 |
Use DebugInfoFinder
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78334 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PIC16')
-rw-r--r-- | lib/Target/PIC16/PIC16DebugInfo.cpp | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/lib/Target/PIC16/PIC16DebugInfo.cpp b/lib/Target/PIC16/PIC16DebugInfo.cpp index fd0d309..0a44bfe 100644 --- a/lib/Target/PIC16/PIC16DebugInfo.cpp +++ b/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; |