X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FCodeGen%2FMachineBlockFrequencyInfo.h;h=feb394e7a69e0026dd7fa40c611503883acf0b84;hb=cd52a7a381a73c53ec4ef517ad87f19808cb1a28;hp=761b59cb1d2c4225486c64e967d2c3dd2fa31e13;hpb=a73959a988b118832b6c22e8c8dd312ac22a7c77;p=oota-llvm.git diff --git a/include/llvm/CodeGen/MachineBlockFrequencyInfo.h b/include/llvm/CodeGen/MachineBlockFrequencyInfo.h index 761b59cb1d2..feb394e7a69 100644 --- a/include/llvm/CodeGen/MachineBlockFrequencyInfo.h +++ b/include/llvm/CodeGen/MachineBlockFrequencyInfo.h @@ -1,4 +1,4 @@ -//====-- MachineBlockFrequencyInfo.h - MBB Frequency Analysis -*- C++ -*--====// +//===- MachineBlockFrequencyInfo.h - MBB Frequency Analysis -*- C++ -*-----===// // // The LLVM Compiler Infrastructure // @@ -22,26 +22,26 @@ namespace llvm { class MachineBasicBlock; class MachineBranchProbabilityInfo; -template -class BlockFrequencyImpl; +template class BlockFrequencyInfoImpl; -/// MachineBlockFrequencyInfo pass uses BlockFrequencyImpl implementation to estimate -/// machine basic block frequencies. +/// MachineBlockFrequencyInfo pass uses BlockFrequencyInfoImpl implementation +/// to estimate machine basic block frequencies. class MachineBlockFrequencyInfo : public MachineFunctionPass { - - BlockFrequencyImpl *MBFI; + typedef BlockFrequencyInfoImpl ImplType; + std::unique_ptr MBFI; public: static char ID; MachineBlockFrequencyInfo(); - ~MachineBlockFrequencyInfo(); + ~MachineBlockFrequencyInfo() override; + + void getAnalysisUsage(AnalysisUsage &AU) const override; - void getAnalysisUsage(AnalysisUsage &AU) const; + bool runOnMachineFunction(MachineFunction &F) override; - bool runOnMachineFunction(MachineFunction &F); + void releaseMemory() override; /// getblockFreq - Return block frequency. Return 0 if we don't have the /// information. Please note that initial frequency is equal to 1024. It means @@ -50,7 +50,7 @@ public: /// BlockFrequency getBlockFreq(const MachineBasicBlock *MBB) const; - MachineFunction *getFunction() const; + const MachineFunction *getFunction() const; void view() const; // Print the block frequency Freq to OS using the current functions entry @@ -62,7 +62,7 @@ public: raw_ostream &printBlockFreq(raw_ostream &OS, const MachineBasicBlock *MBB) const; - uint64_t getEntryFrequency() const; + uint64_t getEntryFreq() const; };