*/
-#ifndef METH_LIVE_VAR_INFO_H
-#define METH_LIVE_VAR_INFO_H
+#ifndef FUNCTION_LIVE_VAR_INFO_H
+#define FUNCTION_LIVE_VAR_INFO_H
#include "llvm/Pass.h"
-#include "llvm/Analysis/LiveVar/ValueSet.h"
-#include "Support/CommandLine.h"
+#include "llvm/CodeGen/ValueSet.h"
class BBLiveVar;
class MachineInstr;
-
-enum LiveVarDebugLevel_t {
- LV_DEBUG_None,
- LV_DEBUG_Normal,
- LV_DEBUG_Instr,
- LV_DEBUG_Verbose
-};
-
-extern cl::Enum<LiveVarDebugLevel_t> DEBUG_LV;
-
-
class FunctionLiveVarInfo : public FunctionPass {
// Machine Instr to LiveVarSet Map for providing LVset BEFORE each inst
std::map<const MachineInstr *, const ValueSet *> MInst2LVSetBI;
void calcLiveVarSetsForBB(const BasicBlock *BB);
public:
- static AnalysisID ID; // We are an analysis, we must have an ID
-
- FunctionLiveVarInfo(AnalysisID id = ID) { assert(id == ID); }
-
// --------- Implement the FunctionPass interface ----------------------
// runOnFunction - Perform analysis, update internal data structures.
- virtual bool runOnFunction(Function *F);
+ virtual bool runOnFunction(Function &F);
// releaseMemory - After LiveVariable analysis has been used, forget!
virtual void releaseMemory();
// getAnalysisUsage - Provide self!
virtual void getAnalysisUsage(AnalysisUsage &AU) const {
AU.setPreservesAll();
- AU.addProvided(ID);
}
// --------- Functions to access analysis results -------------------