From: Cameron Buschardt Date: Wed, 27 Mar 2002 23:28:40 +0000 (+0000) Subject: * Move classes around X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=b1be061a76b47fe3f87596afb59674cc0c88a9b4;p=oota-llvm.git * Move classes around * rename constructor function * Move stuff into anonymous namespaces git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@2007 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Transforms/Utils/PromoteMemoryToRegister.cpp b/lib/Transforms/Utils/PromoteMemoryToRegister.cpp index 74ac04c8edf..f94632e3df9 100644 --- a/lib/Transforms/Utils/PromoteMemoryToRegister.cpp +++ b/lib/Transforms/Utils/PromoteMemoryToRegister.cpp @@ -32,6 +32,7 @@ using namespace std; using cfg::DominanceFrontier; +namespace { //instance of the promoter -- to keep all the local method data. // gets re-created for each method processed @@ -67,28 +68,7 @@ class PromoteInstance operator bool () { return didchange; } }; -class PromotePass : public MethodPass { - public: - - // runOnMethod - To run this pass, first we calculate the alloca instructions - // that are safe for promotion, then we promote each one. - // - virtual bool runOnMethod(Method *M) - { - PromoteInstance inst(M, getAnalysis()); - return (bool)inst; - } - - - // getAnalysisUsageInfo - We need dominance frontiers - // - virtual void getAnalysisUsageInfo(Pass::AnalysisSet &Requires, - Pass::AnalysisSet &Destroyed, - Pass::AnalysisSet &Provided) { - Requires.push_back(DominanceFrontier::ID); - } -}; - +} // end of anonymous namespace // findSafeAllocas - Find allocas that are safe to promote // @@ -127,13 +107,6 @@ void PromoteInstance::findSafeAllocas(Method *M) -// newPromoteMemoryToRegister - Provide an entry point to create this pass. -// -Pass *newPromoteMemoryToRegister() { - return new PromotePass(); -} - - bool PromoteInstance::PromoteMethod(Method *M, DominanceFrontier & DF) { // Calculate the set of safe allocas findSafeAllocas(M); @@ -333,3 +306,37 @@ bool PromoteInstance::queuePhiNode(BasicBlock *bb, int i /*the alloca*/) } return false; } + + +namespace { + class PromotePass : public MethodPass { + public: + + // runOnMethod - To run this pass, first we calculate the alloca + // instructions that are safe for promotion, then we promote each one. + // + virtual bool runOnMethod(Method *M) + { + PromoteInstance inst(M, getAnalysis()); + return (bool)inst; + } + + + // getAnalysisUsageInfo - We need dominance frontiers + // + virtual void getAnalysisUsageInfo(Pass::AnalysisSet &Requires, + Pass::AnalysisSet &Destroyed, + Pass::AnalysisSet &Provided) { + Requires.push_back(DominanceFrontier::ID); + } + }; +} + + +// createPromoteMemoryToRegister - Provide an entry point to create this pass. +// +Pass *createPromoteMemoryToRegister() { + return new PromotePass(); +} + +