Lines Matching defs:BlockFrequencyInfo
1 //===- BlockFrequencyInfo.cpp - Block Frequency Analysis ------------------===//
13 #include "llvm/Analysis/BlockFrequencyInfo.h"
99 struct GraphTraits<BlockFrequencyInfo *> {
104 static NodeRef getEntryNode(const BlockFrequencyInfo *G) {
114 static nodes_iterator nodes_begin(const BlockFrequencyInfo *G) {
118 static nodes_iterator nodes_end(const BlockFrequencyInfo *G) {
124 BFIDOTGraphTraitsBase<BlockFrequencyInfo, BranchProbabilityInfo>;
127 struct DOTGraphTraits<BlockFrequencyInfo *> : public BFIDOTGTraitsBase {
132 const BlockFrequencyInfo *Graph) {
138 const BlockFrequencyInfo *Graph) {
144 const BlockFrequencyInfo *BFI) {
152 BlockFrequencyInfo::BlockFrequencyInfo() = default;
154 BlockFrequencyInfo::BlockFrequencyInfo(const Function &F,
160 BlockFrequencyInfo::BlockFrequencyInfo(BlockFrequencyInfo &&Arg)
163 BlockFrequencyInfo &BlockFrequencyInfo::operator=(BlockFrequencyInfo &&RHS) {
173 BlockFrequencyInfo::~BlockFrequencyInfo() = default;
175 bool BlockFrequencyInfo::invalidate(Function &F, const PreservedAnalyses &PA,
184 void BlockFrequencyInfo::calculate(const Function &F,
200 BlockFrequency BlockFrequencyInfo::getBlockFreq(const BasicBlock *BB) const {
205 BlockFrequencyInfo::getBlockProfileCount(const BasicBlock *BB,
214 BlockFrequencyInfo::getProfileCountFromFreq(BlockFrequency Freq) const {
220 bool BlockFrequencyInfo::isIrrLoopHeader(const BasicBlock *BB) {
225 void BlockFrequencyInfo::setBlockFreq(const BasicBlock *BB,
231 void BlockFrequencyInfo::setBlockFreqAndScale(
255 void BlockFrequencyInfo::view(StringRef title) const {
256 ViewGraph(const_cast<BlockFrequencyInfo *>(this), title);
259 const Function *BlockFrequencyInfo::getFunction() const {
263 const BranchProbabilityInfo *BlockFrequencyInfo::getBPI() const {
267 BlockFrequency BlockFrequencyInfo::getEntryFreq() const {
271 void BlockFrequencyInfo::releaseMemory() { BFI.reset(); }
273 void BlockFrequencyInfo::print(raw_ostream &OS) const {
278 void BlockFrequencyInfo::verifyMatch(BlockFrequencyInfo &Other) const {
283 Printable llvm::printBlockFreq(const BlockFrequencyInfo &BFI,
290 Printable llvm::printBlockFreq(const BlockFrequencyInfo &BFI,
333 BlockFrequencyInfo BlockFrequencyAnalysis::run(Function &F,
337 BlockFrequencyInfo BFI;