llvm::ProfileInfoT< FType, BType > Class Template Reference

#include <ProfileInfo.h>

List of all members.

Public Types

enum  GetPathMode { GetPathToExit = 1, GetPathToValue = 2, GetPathToDest = 4, GetPathWithNewEdges = 8 }
typedef std::pair< const BType
*, const BType * > 
Edge
typedef std::pair< Edge, double > EdgeWeight
typedef std::map< Edge, double > EdgeWeights
typedef std::map< const BType
*, double > 
BlockCounts
typedef std::map< const BType
*, const BType * > 
Path

Public Member Functions

double getExecutionCount (const FType *F)
double getExecutionCount (const BType *BB)
void setExecutionCount (const BType *BB, double w)
void addExecutionCount (const BType *BB, double w)
double getEdgeWeight (Edge e) const
void setEdgeWeight (Edge e, double w)
void addEdgeWeight (Edge e, double w)
EdgeWeights & getEdgeWeights (const FType *F)
void removeBlock (const BType *BB)
void removeEdge (Edge e)
void replaceEdge (const Edge &, const Edge &)
const BType * GetPath (const BType *Src, const BType *Dest, Path &P, unsigned Mode)
void divertFlow (const Edge &, const Edge &)
void splitEdge (const BType *FirstBB, const BType *SecondBB, const BType *NewBB, bool MergeIdenticalEdges=false)
void splitBlock (const BType *Old, const BType *New)
void splitBlock (const BType *BB, const BType *NewBB, BType *const *Preds, unsigned NumPreds)
void replaceAllUses (const BType *RmBB, const BType *DestBB)
void transfer (const FType *Old, const FType *New)
void repair (const FType *F)
void dump (FType *F=0, bool real=true)
bool CalculateMissingEdge (const BType *BB, Edge &removed, bool assumeEmptyExit=false)
bool EstimateMissingEdges (const BType *BB)
ProfileInfoT< MachineFunction,
MachineBasicBlock > * 
MI ()
bool hasMI () const

Static Public Member Functions

static const FType * getFunction (Edge e)
static Edge getEdge (const BType *Src, const BType *Dest)

Static Public Attributes

static char ID
static const double MissingValue

Protected Attributes

std::map< const FType
*, EdgeWeights > 
EdgeInformation
std::map< const FType
*, BlockCounts > 
BlockInformation
std::map< const FType *, double > FunctionInformation
ProfileInfoT< MachineFunction,
MachineBasicBlock > * 
MachineProfile


Detailed Description

template<class FType, class BType>
class llvm::ProfileInfoT< FType, BType >

ProfileInfo Class - This class holds and maintains profiling information for some unit of code.

Member Function Documentation

template<class FType, class BType>
double llvm::ProfileInfoT< FType, BType >::getExecutionCount ( const FType *  F  ) 

Profile Information Queries

template<class FType, class BType>
void llvm::ProfileInfoT< FType, BType >::removeBlock ( const BType *  BB  ) 

Analysis Update Methods


The documentation for this class was generated from the following file:

Generated on Fri Mar 19 01:41:24 2010 by  doxygen 1.5.8