From: Devang Patel Date: Thu, 9 Dec 2010 23:37:07 +0000 (+0000) Subject: Print breakpoints for call instructions. This is used by optimized debug info test... X-Git-Tag: android-x86-6.0-r1~1002^2~2330 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=29012319cd1a6dee716c3149ead614a8271f7338;p=android-x86%2Fexternal-llvm.git Print breakpoints for call instructions. This is used by optimized debug info test harness. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121432 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp index c1e0ad128bc..85d365306a2 100644 --- a/tools/opt/opt.cpp +++ b/tools/opt/opt.cpp @@ -364,6 +364,19 @@ struct BreakpointPrinter : public FunctionPass { } while (BI != I->begin()); break; } + BasicBlock &EntryBB = F.getEntryBlock(); + for (Function::iterator I = F.begin(), E = F.end(); I != E; ++I) { + BasicBlock *BB = I; + if (BB == &EntryBB) continue; + for (BasicBlock::iterator BI = I->begin(), BE = I->end(); BI != BE; ++BI) + if (CallInst *CI = dyn_cast(BI)) { + const DebugLoc DL = CI->getDebugLoc(); + if (!DL.isUnknown()) { + DIScope S(DL.getScope(getGlobalContext())); + Out << S.getFilename() << " " << DL.getLine() << "\n"; + } + } + } return false; }