aboutsummaryrefslogtreecommitdiff
path: root/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
diff options
context:
space:
mode:
authorCameron Buschardt <buschard@uiuc.edu>2002-03-27 23:28:40 +0000
committerCameron Buschardt <buschard@uiuc.edu>2002-03-27 23:28:40 +0000
commitb1be061a76b47fe3f87596afb59674cc0c88a9b4 (patch)
tree22a9dc2708f546c5c40d4d4364e180035f8ef9af /lib/Transforms/Utils/PromoteMemoryToRegister.cpp
parent5758eec1e042d13fdba222220014cf9f96fd9570 (diff)
* 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
Diffstat (limited to 'lib/Transforms/Utils/PromoteMemoryToRegister.cpp')
-rw-r--r--lib/Transforms/Utils/PromoteMemoryToRegister.cpp65
1 files changed, 36 insertions, 29 deletions
diff --git a/lib/Transforms/Utils/PromoteMemoryToRegister.cpp b/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
index 74ac04c8ed..f94632e3df 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<DominanceFrontier>());
- 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<DominanceFrontier>());
+ 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();
+}
+
+