summaryrefslogtreecommitdiff
path: root/lib/CodeGen/MachineFunctionAnalysis.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-04-06 00:51:52 +0000
committerChris Lattner <sabre@nondot.org>2010-04-06 00:51:52 +0000
commit421ccd9892178e741e24c96cef4304262475255d (patch)
tree872241d8a22ac946efe718df378515c1964f4ac0 /lib/CodeGen/MachineFunctionAnalysis.cpp
parent42a4ee0a35b4672311c1b988bd883167de9f88cd (diff)
downloadllvm-421ccd9892178e741e24c96cef4304262475255d.tar.gz
llvm-421ccd9892178e741e24c96cef4304262475255d.tar.bz2
llvm-421ccd9892178e741e24c96cef4304262475255d.tar.xz
Give MachineModuleInfo an actual Module*.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100508 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/MachineFunctionAnalysis.cpp')
-rw-r--r--lib/CodeGen/MachineFunctionAnalysis.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/lib/CodeGen/MachineFunctionAnalysis.cpp b/lib/CodeGen/MachineFunctionAnalysis.cpp
index faddcb2920..3b2eb6d388 100644
--- a/lib/CodeGen/MachineFunctionAnalysis.cpp
+++ b/lib/CodeGen/MachineFunctionAnalysis.cpp
@@ -35,6 +35,19 @@ MachineFunctionAnalysis::~MachineFunctionAnalysis() {
assert(!MF && "MachineFunctionAnalysis left initialized!");
}
+void MachineFunctionAnalysis::getAnalysisUsage(AnalysisUsage &AU) const {
+ AU.setPreservesAll();
+ AU.addRequired<MachineModuleInfo>();
+}
+
+bool MachineFunctionAnalysis::doInitialization(Module &M) {
+ MachineModuleInfo *MMI = getAnalysisIfAvailable<MachineModuleInfo>();
+ assert(MMI && "MMI not around yet??");
+ MMI->setModule(&M);
+ NextFnNum = 1; return false;
+}
+
+
bool MachineFunctionAnalysis::runOnFunction(Function &F) {
assert(!MF && "MachineFunctionAnalysis already initialized!");
MF = new MachineFunction(&F, TM, NextFnNum++,
@@ -46,8 +59,3 @@ void MachineFunctionAnalysis::releaseMemory() {
delete MF;
MF = 0;
}
-
-void MachineFunctionAnalysis::getAnalysisUsage(AnalysisUsage &AU) const {
- AU.setPreservesAll();
- AU.addRequired<MachineModuleInfo>();
-}