LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Macros | Typedefs | Functions | Variables
MachineTraceMetrics.cpp File Reference
#include "llvm/CodeGen/MachineTraceMetrics.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/ADT/SparseSet.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineBranchProbabilityInfo.h"
#include "llvm/CodeGen/MachineLoopInfo.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetInstrInfo.h"
#include "llvm/Target/TargetRegisterInfo.h"
#include "llvm/Target/TargetSubtargetInfo.h"
Include dependency graph for MachineTraceMetrics.cpp:

Go to the source code of this file.

Classes

class  llvm::po_iterator_storage< LoopBounds, true >
 

Namespaces

 llvm
 List of target independent CodeGen pass IDs.
 

Macros

#define DEBUG_TYPE   "machine-trace-metrics"
 

Typedefs

typedef DenseMap< const
MachineInstr *, unsigned
MIHeightMap
 

Functions

 INITIALIZE_PASS_BEGIN (MachineTraceMetrics,"machine-trace-metrics","Machine Trace Metrics", false, true) INITIALIZE_PASS_END(MachineTraceMetrics
 
static bool isExitingLoop (const MachineLoop *From, const MachineLoop *To)
 
static bool getDataDeps (const MachineInstr *UseMI, SmallVectorImpl< DataDep > &Deps, const MachineRegisterInfo *MRI)
 
static void getPHIDeps (const MachineInstr *UseMI, SmallVectorImpl< DataDep > &Deps, const MachineBasicBlock *Pred, const MachineRegisterInfo *MRI)
 
static void updatePhysDepsDownwards (const MachineInstr *UseMI, SmallVectorImpl< DataDep > &Deps, SparseSet< LiveRegUnit > &RegUnits, const TargetRegisterInfo *TRI)
 
static unsigned updatePhysDepsUpwards (const MachineInstr *MI, unsigned Height, SparseSet< LiveRegUnit > &RegUnits, const TargetSchedModel &SchedModel, const TargetInstrInfo *TII, const TargetRegisterInfo *TRI)
 
static bool pushDepHeight (const DataDep &Dep, const MachineInstr *UseMI, unsigned UseHeight, MIHeightMap &Heights, const TargetSchedModel &SchedModel, const TargetInstrInfo *TII)
 

Variables

machine trace metrics
 
machine trace Machine Trace Metrics
 
machine trace Machine Trace false
 

Macro Definition Documentation

#define DEBUG_TYPE   "machine-trace-metrics"

Definition at line 10 of file MachineTraceMetrics.cpp.

Typedef Documentation

Definition at line 930 of file MachineTraceMetrics.cpp.

Function Documentation

static bool getDataDeps ( const MachineInstr UseMI,
SmallVectorImpl< DataDep > &  Deps,
const MachineRegisterInfo MRI 
)
static
static void getPHIDeps ( const MachineInstr UseMI,
SmallVectorImpl< DataDep > &  Deps,
const MachineBasicBlock Pred,
const MachineRegisterInfo MRI 
)
static
INITIALIZE_PASS_BEGIN ( MachineTraceMetrics  ,
"machine-trace-metrics ,
"Machine Trace Metrics ,
false  ,
true   
)
static bool isExitingLoop ( const MachineLoop From,
const MachineLoop To 
)
static
static bool pushDepHeight ( const DataDep &  Dep,
const MachineInstr UseMI,
unsigned  UseHeight,
MIHeightMap Heights,
const TargetSchedModel SchedModel,
const TargetInstrInfo TII 
)
static
static void updatePhysDepsDownwards ( const MachineInstr UseMI,
SmallVectorImpl< DataDep > &  Deps,
SparseSet< LiveRegUnit > &  RegUnits,
const TargetRegisterInfo TRI 
)
static
static unsigned updatePhysDepsUpwards ( const MachineInstr MI,
unsigned  Height,
SparseSet< LiveRegUnit > &  RegUnits,
const TargetSchedModel SchedModel,
const TargetInstrInfo TII,
const TargetRegisterInfo TRI 
)
static

Variable Documentation

machine trace Machine Trace false

Definition at line 37 of file MachineTraceMetrics.cpp.

machine trace metrics

Definition at line 37 of file MachineTraceMetrics.cpp.

machine trace Machine Trace Metrics

Definition at line 37 of file MachineTraceMetrics.cpp.

Referenced by ApproximateLoopSize().