From 171eee54717a22f439b06a4e07b361fcd983af1f Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 22 Dec 2005 19:26:06 +0000 Subject: [PATCH] Fix test/Regression/Other/2002-01-31-CallGraph.ll after the recent callgraph rework. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24959 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/analyze/AnalysisWrappers.cpp | 20 +++++++++++++++++--- tools/opt/AnalysisWrappers.cpp | 20 +++++++++++++++++--- 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/tools/analyze/AnalysisWrappers.cpp b/tools/analyze/AnalysisWrappers.cpp index dcbd349ff2b..8e5c3339bfe 100644 --- a/tools/analyze/AnalysisWrappers.cpp +++ b/tools/analyze/AnalysisWrappers.cpp @@ -20,6 +20,7 @@ #include "llvm/Module.h" #include "llvm/Pass.h" #include "llvm/Support/CallSite.h" +#include "llvm/Analysis/CallGraph.h" #include using namespace llvm; @@ -55,13 +56,26 @@ namespace { return false; } - void print(std::ostream &OS) const {} - virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesAll(); } }; RegisterAnalysis - P2("externalfnconstants", "Print external fn callsites passed constants"); + P1("externalfnconstants", "Print external fn callsites passed constants"); + + struct CallGraphPrinter : public ModulePass { + virtual void getAnalysisUsage(AnalysisUsage &AU) const { + AU.setPreservesAll(); + AU.addRequired(); + } + virtual bool runOnModule(Module &M) { return false; } + + void print(std::ostream &OS, Module *M) const { + getAnalysis().print(OS, M); + } + }; + + RegisterAnalysis + P2("callgraph", "Print a call graph"); } diff --git a/tools/opt/AnalysisWrappers.cpp b/tools/opt/AnalysisWrappers.cpp index dcbd349ff2b..8e5c3339bfe 100644 --- a/tools/opt/AnalysisWrappers.cpp +++ b/tools/opt/AnalysisWrappers.cpp @@ -20,6 +20,7 @@ #include "llvm/Module.h" #include "llvm/Pass.h" #include "llvm/Support/CallSite.h" +#include "llvm/Analysis/CallGraph.h" #include using namespace llvm; @@ -55,13 +56,26 @@ namespace { return false; } - void print(std::ostream &OS) const {} - virtual void getAnalysisUsage(AnalysisUsage &AU) const { AU.setPreservesAll(); } }; RegisterAnalysis - P2("externalfnconstants", "Print external fn callsites passed constants"); + P1("externalfnconstants", "Print external fn callsites passed constants"); + + struct CallGraphPrinter : public ModulePass { + virtual void getAnalysisUsage(AnalysisUsage &AU) const { + AU.setPreservesAll(); + AU.addRequired(); + } + virtual bool runOnModule(Module &M) { return false; } + + void print(std::ostream &OS, Module *M) const { + getAnalysis().print(OS, M); + } + }; + + RegisterAnalysis + P2("callgraph", "Print a call graph"); } -- 2.34.1