Add 'const' to a few more functions in MachineFrameInfo
[oota-llvm.git] / include / llvm / CodeGen / MachineFunctionAnalysis.h
index aa4cc9176b73b064f84e161b975beb11d9ddf4e2..4c0f5e63ea1d9c99629249282956851a2a62aca1 100644 (file)
 //
 //===----------------------------------------------------------------------===//
 
-#ifndef LLVM_CODEGEN_MACHINE_FUNCTION_ANALYSIS_H
-#define LLVM_CODEGEN_MACHINE_FUNCTION_ANALYSIS_H
+#ifndef LLVM_CODEGEN_MACHINEFUNCTIONANALYSIS_H
+#define LLVM_CODEGEN_MACHINEFUNCTIONANALYSIS_H
 
 #include "llvm/Pass.h"
-#include "llvm/Target/TargetMachine.h"
 
 namespace llvm {
 
 class MachineFunction;
+class MachineFunctionInitializer;
+class TargetMachine;
 
 /// MachineFunctionAnalysis - This class is a Pass that manages a
 /// MachineFunction object.
 struct MachineFunctionAnalysis : public FunctionPass {
 private:
   const TargetMachine &TM;
-  CodeGenOpt::Level OptLevel;
   MachineFunction *MF;
+  unsigned NextFnNum;
+  MachineFunctionInitializer *MFInitializer;
 
 public:
   static char ID;
   explicit MachineFunctionAnalysis(const TargetMachine &tm,
-                                   CodeGenOpt::Level OL = CodeGenOpt::Default);
-  ~MachineFunctionAnalysis();
+                                   MachineFunctionInitializer *MFInitializer);
+  ~MachineFunctionAnalysis() override;
 
   MachineFunction &getMF() const { return *MF; }
-  CodeGenOpt::Level getOptLevel() const { return OptLevel; }
+
+  const char* getPassName() const override {
+    return "Machine Function Analysis";
+  }
 
 private:
-  virtual bool runOnFunction(Function &F);
-  virtual void releaseMemory();
-  virtual void getAnalysisUsage(AnalysisUsage &AU) const;
+  bool doInitialization(Module &M) override;
+  bool runOnFunction(Function &F) override;
+  void releaseMemory() override;
+  void getAnalysisUsage(AnalysisUsage &AU) const override;
 };
 
 } // End llvm namespace