LLVM  6.0.0svn
Classes | Namespaces | Macros | Enumerations | Functions
BlockFrequencyInfoImpl.h File Reference
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/GraphTraits.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Twine.h"
#include "llvm/ADT/iterator_range.h"
#include "llvm/IR/BasicBlock.h"
#include "llvm/Support/BlockFrequency.h"
#include "llvm/Support/BranchProbability.h"
#include "llvm/Support/DOTGraphTraits.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/ScaledNumber.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <deque>
#include <iterator>
#include <limits>
#include <list>
#include <string>
#include <utility>
#include <vector>
Include dependency graph for BlockFrequencyInfoImpl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  llvm::bfi_detail::BlockEdgesAdder< BT >
 
class  llvm::bfi_detail::BlockMass
 Mass of a block. More...
 
struct  llvm::isPodLike< bfi_detail::BlockMass >
 
class  llvm::BlockFrequencyInfoImplBase
 Base class for BlockFrequencyInfoImpl. More...
 
struct  llvm::BlockFrequencyInfoImplBase::BlockNode
 Representative of a block. More...
 
struct  llvm::BlockFrequencyInfoImplBase::FrequencyData
 Stats about a block itself. More...
 
struct  llvm::BlockFrequencyInfoImplBase::LoopData
 Data about a loop. More...
 
struct  llvm::BlockFrequencyInfoImplBase::WorkingData
 Index of loop information. More...
 
struct  llvm::BlockFrequencyInfoImplBase::Weight
 Unscaled probability weight. More...
 
struct  llvm::BlockFrequencyInfoImplBase::Distribution
 Distribution of unscaled probability weight. More...
 
struct  llvm::bfi_detail::TypeMap< BlockT >
 
struct  llvm::bfi_detail::TypeMap< BasicBlock >
 
struct  llvm::bfi_detail::TypeMap< MachineBasicBlock >
 
struct  llvm::bfi_detail::IrreducibleGraph
 Graph of irreducible control flow. More...
 
struct  llvm::bfi_detail::IrreducibleGraph::IrrNode
 
class  llvm::BlockFrequencyInfoImpl< BT >
 Shared implementation for block frequency analysis. More...
 
struct  llvm::bfi_detail::BlockEdgesAdder< BT >
 
struct  llvm::BFIDOTGraphTraitsBase< BlockFrequencyInfoT, BranchProbabilityInfoT >
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 
 llvm::bfi_detail
 

Macros

#define DEBUG_TYPE   "block-freq"
 

Enumerations

enum  llvm::GVDAGType { llvm::GVDT_None, llvm::GVDT_Fraction, llvm::GVDT_Integer, llvm::GVDT_Count }
 

Functions

BlockMass llvm::bfi_detail::operator+ (BlockMass L, BlockMass R)
 
BlockMass llvm::bfi_detail::operator- (BlockMass L, BlockMass R)
 
BlockMass llvm::bfi_detail::operator* (BlockMass L, BranchProbability R)
 
BlockMass llvm::bfi_detail::operator* (BranchProbability L, BlockMass R)
 
raw_ostream & llvm::bfi_detail::operator<< (raw_ostream &OS, BlockMass X)
 
template<class BlockT >
std::string llvm::bfi_detail::getBlockName (const BlockT *BB)
 Get the name of a MachineBasicBlock. More...
 
template<>
std::string llvm::bfi_detail::getBlockName (const BasicBlock *BB)
 Get the name of a BasicBlock. More...
 
uint32_t llvm::getWeightFromBranchProb (const BranchProbability Prob)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "block-freq"

Definition at line 46 of file BlockFrequencyInfoImpl.h.