OSDN Git Service

debug intrinsics do not go in the callgraph, this fixes a couple
authorChris Lattner <sabre@nondot.org>
Tue, 1 Sep 2009 21:37:50 +0000 (21:37 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 1 Sep 2009 21:37:50 +0000 (21:37 +0000)
clang regtest failures.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80724 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/IPA/CallGraphSCCPass.cpp

index b188d30..85f22c7 100644 (file)
@@ -22,6 +22,7 @@
 #include "llvm/PassManagers.h"
 #include "llvm/Function.h"
 #include "llvm/Support/Debug.h"
+#include "llvm/IntrinsicInst.h"
 #include "llvm/Support/raw_ostream.h"
 using namespace llvm;
 
@@ -192,7 +193,7 @@ void CGPassManager::RefreshCallGraph(std::vector<CallGraphNode*> &CurSCC,
     for (Function::iterator BB = F->begin(), E = F->end(); BB != E; ++BB)
       for (BasicBlock::iterator I = BB->begin(), E = BB->end(); I != E; ++I) {
         CallSite CS = CallSite::get(I);
-        if (!CS.getInstruction()) continue;
+        if (!CS.getInstruction() || isa<DbgInfoIntrinsic>(I)) continue;
         
         // If this call site already existed in the callgraph, just verify it
         // matches up to expectations and remove it from CallSites.