Do not use typeinfo to identify pass in pass manager.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@36632 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/IPA/CallGraph.cpp b/lib/Analysis/IPA/CallGraph.cpp
index bb96bb2..43e70bb 100644
--- a/lib/Analysis/IPA/CallGraph.cpp
+++ b/lib/Analysis/IPA/CallGraph.cpp
@@ -51,7 +51,9 @@
CallGraphNode *CallsExternalNode;
public:
- BasicCallGraph() : Root(0), ExternalCallingNode(0), CallsExternalNode(0) {}
+ static const int ID; // Class identification, replacement for typeinfo
+ BasicCallGraph() : ModulePass((intptr_t)&ID), Root(0),
+ ExternalCallingNode(0), CallsExternalNode(0) {}
// runOnModule - Compute the call graph for the specified module.
virtual bool runOnModule(Module &M) {
@@ -188,7 +190,9 @@
}
};
+const int CallGraph::ID = 0;
RegisterAnalysisGroup<CallGraph> X("Call Graph");
+const int BasicCallGraph::ID = 0;
RegisterPass<BasicCallGraph> Y("basiccg", "Basic CallGraph Construction");
RegisterAnalysisGroup<CallGraph, true> Z(Y);