X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FCallGraphSCCPass.h;h=90894c280c6c9162df5a0f487c40b0705c33a8eb;hb=1a957d563fe894c797e0eba00bf069fbe7ecba77;hp=73c9323074f1098fa4864d7e2d72d485b59fd8d3;hpb=a10df5028211fc897751d23e91d035db47d23fac;p=oota-llvm.git diff --git a/include/llvm/CallGraphSCCPass.h b/include/llvm/CallGraphSCCPass.h index 73c9323074f..90894c280c6 100644 --- a/include/llvm/CallGraphSCCPass.h +++ b/include/llvm/CallGraphSCCPass.h @@ -1,10 +1,10 @@ //===- CallGraphSCCPass.h - Pass that operates BU on call graph -*- C++ -*-===// -// +// // The LLVM Compiler Infrastructure // // This file was developed by the LLVM research group and is distributed under // the University of Illinois Open Source License. See LICENSE.TXT for details. -// +// //===----------------------------------------------------------------------===// // // This file defines the CallGraphSCCPass class, which is used for passes which @@ -26,13 +26,16 @@ namespace llvm { class CallGraphNode; -class Module; +class CallGraph; +class PMStack; struct CallGraphSCCPass : public Pass { + CallGraphSCCPass(intptr_t pid) : Pass(pid) {} + /// doInitialization - This method is called before the SCC's of the program /// has been processed, allowing the pass to do initialization as necessary. - virtual bool doInitialization(Module &M) { + virtual bool doInitialization(CallGraph &CG) { return false; } @@ -45,15 +48,18 @@ struct CallGraphSCCPass : public Pass { /// doFinalization - This method is called after the SCC's of the program has /// been processed, allowing the pass to do final cleanup as necessary. - virtual bool doFinalization(Module &M) { + virtual bool doFinalization(CallGraph &CG) { return false; } - /// run - Run this pass, returning true if a modification was made to the - /// module argument. This is implemented in terms of the runOnSCC method. - /// - virtual bool run(Module &M); + /// Assign pass manager to manager this pass + virtual void assignPassManager(PMStack &PMS, + PassManagerType PMT = PMT_CallGraphPassManager); + /// Return what kind of Pass Manager can manage this pass. + virtual PassManagerType getPotentialPassManagerType() const { + return PMT_CallGraphPassManager; + } /// getAnalysisUsage - For this class, we declare that we require and preserve /// the call graph. If the derived class implements this method, it should