There is no need to write a local utility routine to find subprogram info if the utility routine is already available in DebugInfo.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140145 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Transforms/Instrumentation/GCOVProfiling.cpp b/lib/Transforms/Instrumentation/GCOVProfiling.cpp
index 089c8b9..1626293 100644
--- a/lib/Transforms/Instrumentation/GCOVProfiling.cpp
+++ b/lib/Transforms/Instrumentation/GCOVProfiling.cpp
@@ -109,15 +109,6 @@
   return new GCOVProfiler(EmitNotes, EmitData, Use402Format);
 }
 
-static DISubprogram findSubprogram(DIScope Scope) {
-  while (!Scope.isSubprogram()) {
-    assert(Scope.isLexicalBlock() &&
-           "Debug location not lexical block or subprogram");
-    Scope = DILexicalBlock(Scope).getContext();
-  }
-  return DISubprogram(Scope);
-}
-
 namespace {
   class GCOVRecord {
    protected:
@@ -403,7 +394,7 @@
             if (Loc.isUnknown()) continue;
             if (Line == Loc.getLine()) continue;
             Line = Loc.getLine();
-            if (SP != findSubprogram(DIScope(Loc.getScope(*Ctx)))) continue;
+            if (SP != getDISubprogram(Loc.getScope(*Ctx))) continue;
             
             GCOVLines &Lines = Block.getFile(SP.getFilename());
             Lines.addLine(Loc.getLine());