LLVM API Documentation

Classes | Namespaces | Defines | 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

namespace  llvm
 

List of target independent CodeGen pass IDs.


Defines

#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

Define Documentation

#define DEBUG_TYPE   "machine-trace-metrics"

Definition at line 28 of file MachineTraceMetrics.cpp.


Typedef Documentation

Definition at line 923 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 38 of file MachineTraceMetrics.cpp.

machine trace metrics

Definition at line 38 of file MachineTraceMetrics.cpp.

machine trace Machine Trace Metrics

Definition at line 38 of file MachineTraceMetrics.cpp.

Referenced by ApproximateLoopSize().