summaryrefslogtreecommitdiff
path: root/tools/opt/opt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/opt/opt.cpp')
-rw-r--r--tools/opt/opt.cpp39
1 files changed, 12 insertions, 27 deletions
diff --git a/tools/opt/opt.cpp b/tools/opt/opt.cpp
index ff8f65cfff..64c08ab56a 100644
--- a/tools/opt/opt.cpp
+++ b/tools/opt/opt.cpp
@@ -349,34 +349,19 @@ struct BreakpointPrinter : public FunctionPass {
}
virtual bool runOnFunction(Function &F) {
- for (Function::iterator I = F.begin(), E = F.end(); I != E; ++I) {
- BasicBlock::const_iterator BI = I->end();
- --BI;
- do {
- const Instruction *In = BI;
- const DebugLoc DL = In->getDebugLoc();
- if (!DL.isUnknown()) {
- DIScope S(DL.getScope(getGlobalContext()));
- Out << S.getFilename() << " " << DL.getLine() << "\n";
- break;
- }
- --BI;
- } 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<CallInst>(BI)) {
- const DebugLoc DL = CI->getDebugLoc();
- if (!DL.isUnknown()) {
- DIScope S(DL.getScope(getGlobalContext()));
- Out << S.getFilename() << " " << DL.getLine() << "\n";
- }
- }
- }
+ BasicBlock::const_iterator BI = EntryBB.end();
+ --BI;
+ do {
+ const Instruction *In = BI;
+ const DebugLoc DL = In->getDebugLoc();
+ if (!DL.isUnknown()) {
+ DIScope S(DL.getScope(getGlobalContext()));
+ Out << S.getFilename() << " " << DL.getLine() << "\n";
+ break;
+ }
+ --BI;
+ } while (BI != EntryBB.begin());
return false;
}