X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FCallGraphSCCPass.h;h=26005059dee5aaa765d5ce1d5eb5cb8ea99992c2;hb=84701836bfb1889e2e26e361ebd5d29d972ab396;hp=b7fba387ea5308c2cc0b4af43afc47fc8d3aa43c;hpb=25942e9f5c1ad7f93b00059365230f7fd0089dfe;p=oota-llvm.git diff --git a/include/llvm/CallGraphSCCPass.h b/include/llvm/CallGraphSCCPass.h index b7fba387ea5..26005059dee 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 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 @@ -27,9 +27,12 @@ namespace llvm { class CallGraphNode; class CallGraph; +class PMStack; struct CallGraphSCCPass : public Pass { + explicit 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(CallGraph &CG) { @@ -49,11 +52,14 @@ struct CallGraphSCCPass : public Pass { 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