summaryrefslogtreecommitdiff
path: root/lib/CodeGen/MachineFunctionAnalysis.cpp
diff options
context:
space:
mode:
authorRoman Divacky <rdivacky@FreeBSD.org>2010-04-06 15:52:58 +0000
committerRoman Divacky <rdivacky@FreeBSD.org>2010-04-06 15:52:58 +0000
commit9f4a1da9a0a56a0b0a7f8249f34b3cdea6179c41 (patch)
tree0dd020f28a4846707f8d60717d9b2921ea187bd8 /lib/CodeGen/MachineFunctionAnalysis.cpp
parentb5efedaf2ab20d844d5a21cdef76b55acbf4f01c (diff)
Notes
Diffstat (limited to 'lib/CodeGen/MachineFunctionAnalysis.cpp')
-rw-r--r--lib/CodeGen/MachineFunctionAnalysis.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/lib/CodeGen/MachineFunctionAnalysis.cpp b/lib/CodeGen/MachineFunctionAnalysis.cpp
index d3f1d8296daa..3b2eb6d388b4 100644
--- a/lib/CodeGen/MachineFunctionAnalysis.cpp
+++ b/lib/CodeGen/MachineFunctionAnalysis.cpp
@@ -35,10 +35,23 @@ 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++,
- getAnalysis<MachineModuleInfo>().getContext());
+ getAnalysis<MachineModuleInfo>());
return false;
}
@@ -46,8 +59,3 @@ void MachineFunctionAnalysis::releaseMemory() {
delete MF;
MF = 0;
}
-
-void MachineFunctionAnalysis::getAnalysisUsage(AnalysisUsage &AU) const {
- AU.setPreservesAll();
- AU.addRequired<MachineModuleInfo>();
-}