aboutsummaryrefslogtreecommitdiff
path: root/llvm/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
commitf22674832492833a87c1c319d7aab7de2c15199e (patch)
treeca484bb77d9877ecab7287f610718e7f8b04139d /llvm/lib/CodeGen/MachineFunctionAnalysis.cpp
parent60955d42bd2b32946151183f29b3b8611a482ae7 (diff)
downloadllvm-f22674832492833a87c1c319d7aab7de2c15199e.zip
llvm-f22674832492833a87c1c319d7aab7de2c15199e.tar.gz
llvm-f22674832492833a87c1c319d7aab7de2c15199e.tar.bz2
Give MachineModuleInfo an actual Module*.
llvm-svn: 100508
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunctionAnalysis.cpp')
-rw-r--r--llvm/lib/CodeGen/MachineFunctionAnalysis.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/llvm/lib/CodeGen/MachineFunctionAnalysis.cpp b/llvm/lib/CodeGen/MachineFunctionAnalysis.cpp
index faddcb29..3b2eb6d 100644
--- a/llvm/lib/CodeGen/MachineFunctionAnalysis.cpp
+++ b/llvm/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>();
-}