Deleted Added
full compact
89a90,117
> /// PrintCallGraphPass - Print a Module corresponding to a call graph.
> ///
> class PrintCallGraphPass : public CallGraphSCCPass {
> private:
> std::string Banner;
> raw_ostream &Out; // raw_ostream to print on.
>
> public:
> static char ID;
> PrintCallGraphPass() : CallGraphSCCPass(&ID), Out(dbgs()) {}
> PrintCallGraphPass(const std::string &B, raw_ostream &o)
> : CallGraphSCCPass(&ID), Banner(B), Out(o) {}
>
> virtual void getAnalysisUsage(AnalysisUsage &AU) const {
> AU.setPreservesAll();
> }
>
> bool runOnSCC(std::vector<CallGraphNode *> &SCC) {
> Out << Banner;
> for (std::vector<CallGraphNode *>::iterator n = SCC.begin(), ne = SCC.end();
> n != ne;
> ++n) {
> (*n)->getFunction()->print(Out);
> }
> return false;
> }
> };
>
93a122,123
> char PrintCallGraphPass::ID = 0;
>
398a429,433
> Pass *CallGraphSCCPass::createPrinterPass(raw_ostream &O,
> const std::string &Banner) const {
> return new PrintCallGraphPass(Banner, O);
> }
>