LLVM 19.0.0git
Classes | Namespaces | Macros | Typedefs | Functions | Variables
MachineBlockFrequencyInfo.cpp File Reference
#include "llvm/CodeGen/MachineBlockFrequencyInfo.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/iterator.h"
#include "llvm/Analysis/BlockFrequencyInfoImpl.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineBranchProbabilityInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineLoopInfo.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/GraphWriter.h"
#include <optional>
#include <string>

Go to the source code of this file.

Classes

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

Namespaces

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

Macros

#define DEBUG_TYPE   "machine-block-freq"
 

Typedefs

using llvm::MBFIDOTGraphTraitsBase = BFIDOTGraphTraitsBase< MachineBlockFrequencyInfo, MachineBranchProbabilityInfo >
 

Functions

static GVDAGType getGVDT ()
 
 INITIALIZE_PASS_BEGIN (MachineBlockFrequencyInfo, DEBUG_TYPE, "Machine Block Frequency Analysis", true, true) INITIALIZE_PASS_END(MachineBlockFrequencyInfo
 

Variables

static cl::opt< GVDAGTypellvm::ViewMachineBlockFreqPropagationDAG ("view-machine-block-freq-propagation-dags", cl::Hidden, cl::desc("Pop up a window to show a dag displaying how machine block " "frequencies propagate 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.")))
 
cl::opt< GVDAGTypellvm::ViewBlockLayoutWithBFI ("view-block-layout-with-bfi", cl::Hidden, cl::desc("Pop up a window to show a dag displaying MBP layout and associated " "block frequencies of 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 cl::opt< boolllvm::PrintMachineBlockFreq ("print-machine-bfi", cl::init(false), cl::Hidden, cl::desc("Print the machine block frequency info."))
 
 DEBUG_TYPE
 
Machine Block Frequency Analysis
 
Machine Block Frequency true
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "machine-block-freq"

Definition at line 30 of file MachineBlockFrequencyInfo.cpp.

Function Documentation

◆ getGVDT()

static GVDAGType getGVDT ( )
static

◆ INITIALIZE_PASS_BEGIN()

INITIALIZE_PASS_BEGIN ( MachineBlockFrequencyInfo  ,
DEBUG_TYPE  ,
"Machine Block Frequency Analysis"  ,
true  ,
true   
)

Variable Documentation

◆ Analysis

Machine Block Frequency Analysis

Definition at line 169 of file MachineBlockFrequencyInfo.cpp.

◆ DEBUG_TYPE

DEBUG_TYPE

Definition at line 168 of file MachineBlockFrequencyInfo.cpp.

◆ true

Machine Block Frequency true

Definition at line 169 of file MachineBlockFrequencyInfo.cpp.