X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FCallGraphSCCPass.h;h=26005059dee5aaa765d5ce1d5eb5cb8ea99992c2;hb=84701836bfb1889e2e26e361ebd5d29d972ab396;hp=389a80c9e361a256a43f56d781fbf28f803bf564;hpb=b12914bfc0f76a7a48357162d5f4c39a1343e69b;p=oota-llvm.git diff --git a/include/llvm/CallGraphSCCPass.h b/include/llvm/CallGraphSCCPass.h index 389a80c9e36..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,8 +27,11 @@ namespace llvm { class CallGraphNode; class CallGraph; +class PMStack; + +struct CallGraphSCCPass : public Pass { -struct CallGraphSCCPass : public ModulePass { + 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. @@ -49,11 +52,14 @@ struct CallGraphSCCPass : public ModulePass { 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 runOnModule(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