LLVM  6.0.0svn
Classes | Namespaces | Macros | Typedefs | Functions | Variables
MachineBlockFrequencyInfo.cpp File Reference
#include "llvm/CodeGen/MachineBlockFrequencyInfo.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/None.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/Pass.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/GraphWriter.h"
#include <string>
Include dependency graph for MachineBlockFrequencyInfo.cpp:

Go to the source code of this file.

Classes

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

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

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< GVDAGTypeViewMachineBlockFreqPropagationDAG ("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< GVDAGTypeViewBlockLayoutWithBFI ("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.")))
 
cl::opt< std::string > ViewBlockFreqFuncName
 
cl::opt< unsignedViewHotFreqPercent
 
static cl::opt< boolPrintMachineBlockFreq ("print-machine-bfi", cl::init(false), cl::Hidden, cl::desc("Print the machine block frequency info."))
 
cl::opt< std::string > PrintBlockFreqFuncName
 
 DEBUG_TYPE
 
Machine Block Frequency Analysis
 
Machine Block Frequency true
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "machine-block-freq"

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 166 of file MachineBlockFrequencyInfo.cpp.

◆ DEBUG_TYPE

DEBUG_TYPE

Definition at line 166 of file MachineBlockFrequencyInfo.cpp.

◆ PrintBlockFreqFuncName

cl::opt<std::string> PrintBlockFreqFuncName

◆ PrintMachineBlockFreq

cl::opt<bool> PrintMachineBlockFreq("print-machine-bfi", cl::init(false), cl::Hidden, cl::desc("Print the machine block frequency info."))
static

◆ true

Machine Block Frequency true

Definition at line 166 of file MachineBlockFrequencyInfo.cpp.

◆ ViewBlockFreqFuncName

cl::opt<std::string> ViewBlockFreqFuncName

◆ ViewBlockLayoutWithBFI

cl::opt<GVDAGType> 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.")))

Referenced by getGVDT().

◆ ViewHotFreqPercent

cl::opt<unsigned> ViewHotFreqPercent

◆ ViewMachineBlockFreqPropagationDAG

cl::opt<GVDAGType> 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.")))
static