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().