pass manager.
This never worked, and won't ever work. It was actually why I ended up
building the LazyCallGraph set of code which is more more effectively
wired up to the new pass manager. This accidentally got committed when
I was trying to land a cleanup of the code organization in the other
parts of this file. =[ My bad, but fortunately Dave was keen eyed enough
to spot that this code couldn't possibly work. =]
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@244127
91177308-0d34-0410-b5e6-
96231b3b80d8
void allReferencesDropped() { NumReferences = 0; }
};
-/// \brief An analysis pass to compute the \c CallGraph for a \c Module.
-///
-/// This class implements the concept of an analysis pass used by the \c
-/// ModuleAnalysisManager to run an analysis over a module and cache the
-/// resulting data.
-class CallGraphAnalysis {
-public:
- /// \brief A formulaic typedef to inform clients of the result type.
- typedef CallGraph Result;
-
- static void *ID() { return (void *)&PassID; }
-
- /// \brief Compute the \c CallGraph for the module \c M.
- ///
- /// The real work here is done in the \c CallGraph constructor.
- CallGraph run(Module *M) { return CallGraph(*M); }
-
-private:
- static char PassID;
-};
-
/// \brief The \c ModulePass which wraps up a \c CallGraph and the logic to
/// build it.
///
}
}
-//===----------------------------------------------------------------------===//
-// Out-of-line definitions of CallGraphAnalysis class members.
-//
-
-char CallGraphAnalysis::PassID;
-
//===----------------------------------------------------------------------===//
// Implementations of the CallGraphWrapperPass class methods.
//