LLVM 24.0.0git
BlockFrequencyInfo.cpp File Reference
#include "llvm/Analysis/BlockFrequencyInfo.h"
#include "AnalysisOptions.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/iterator.h"
#include "llvm/Analysis/BlockFrequencyInfoImpl.h"
#include "llvm/Analysis/BranchProbabilityInfo.h"
#include "llvm/Analysis/CycleAnalysis.h"
#include "llvm/IR/CFG.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/PassManager.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/GraphWriter.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <optional>
#include <string>

Go to the source code of this file.

Classes

struct  llvm::GraphTraits< BlockFrequencyInfo * >
struct  llvm::DOTGraphTraits< BlockFrequencyInfo * >

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.

Macros

#define DEBUG_TYPE   "block-freq"

Typedefs

using llvm::BFIDOTGTraitsBase

Functions

static GVDAGType llvm::getGVDT (const LLVMContext &C)
 INITIALIZE_PASS_BEGIN (BlockFrequencyInfoWrapperPass, "block-freq", "Block Frequency Analysis", true, true) INITIALIZE_PASS_END(BlockFrequencyInfoWrapperPass

Variables

static cl::opt< GVDAGType > ViewBlockFreqPropagationDAG ("view-block-freq-propagation-dags", cl::Hidden, cl::desc("Pop up a window to show a dag displaying how block " "frequencies propagation through the CFG."), cl::values(clEnumValN(GVDT_None, "none", "do not display graphs."), clEnumValN(GVDT_Fraction, "fraction", "display a graph using the " "fractional block frequency representation."), clEnumValN(GVDT_Integer, "integer", "display a graph using the raw " "integer fractional block frequency representation."), clEnumValN(GVDT_Count, "count", "display a graph using the real " "profile count if available.")))
block freq
block Block Frequency Analysis
block Block Frequency true

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "block-freq"

Definition at line 34 of file BlockFrequencyInfo.cpp.

Function Documentation

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( BlockFrequencyInfoWrapperPass ,
"block-freq" ,
"Block Frequency Analysis" ,
true ,
true  )

Variable Documentation

◆ Analysis

◆ freq

◆ true

block Block Frequency true

Definition at line 276 of file BlockFrequencyInfo.cpp.

◆ ViewBlockFreqPropagationDAG

cl::opt< GVDAGType > ViewBlockFreqPropagationDAG("view-block-freq-propagation-dags", cl::Hidden, cl::desc("Pop up a window to show a dag displaying how block " "frequencies propagation through the CFG."), cl::values(clEnumValN(GVDT_None, "none", "do not display graphs."), clEnumValN(GVDT_Fraction, "fraction", "display a graph using the " "fractional block frequency representation."), clEnumValN(GVDT_Integer, "integer", "display a graph using the raw " "integer fractional block frequency representation."), clEnumValN(GVDT_Count, "count", "display a graph using the real " "profile count if available."))) ( "view-block-freq-propagation-dags" ,
cl::Hidden ,
cl::desc("Pop up a window to show a dag displaying how block " "frequencies propagation through the CFG.") ,
cl::values(clEnumValN(GVDT_None, "none", "do not display graphs."), clEnumValN(GVDT_Fraction, "fraction", "display a graph using the " "fractional block frequency representation."), clEnumValN(GVDT_Integer, "integer", "display a graph using the raw " "integer fractional block frequency representation."), clEnumValN(GVDT_Count, "count", "display a graph using the real " "profile count if available."))  )
static