LLVM: lib/CodeGen/MachineTraceMetrics.cpp File Reference (original) (raw)

Go to the source code of this file.

Macros
#define DEBUG_TYPE "machine-trace-metrics"
Functions
INITIALIZE_PASS_BEGIN (MachineTraceMetricsWrapperPass, DEBUG_TYPE, "Machine Trace Metrics", false, true) INITIALIZE_PASS_END(MachineTraceMetricsWrapperPass
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, LiveRegUnitSet &RegUnits, const TargetRegisterInfo *TRI)
static unsigned updatePhysDepsUpwards (const MachineInstr &MI, unsigned Height, LiveRegUnitSet &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)

DEBUG_TYPE

#define DEBUG_TYPE "machine-trace-metrics"

MIHeightMap

getDataDeps()

getPHIDeps()

INITIALIZE_PASS_BEGIN()

isExitingLoop()

pushDepHeight()

updatePhysDepsDownwards()

Definition at line 738 of file MachineTraceMetrics.cpp.

References llvm::SparseSet< ValueT, KeyT, KeyFunctorT, SparseT >::end(), llvm::SparseSet< ValueT, KeyT, KeyFunctorT, SparseT >::erase(), llvm::SparseSet< ValueT, KeyT, KeyFunctorT, SparseT >::find(), I, llvm::LiveRegUnit::MI, llvm::LiveRegUnit::Op, llvm::SmallVectorTemplateBase< T, bool >::push_back(), Reg, TRI, and UseMI.

Referenced by llvm::MachineTraceMetrics::Ensemble::updateDepth().

updatePhysDepsUpwards()

Definition at line 927 of file MachineTraceMetrics.cpp.

References llvm::TargetSchedModel::computeOperandLatency(), llvm::LiveRegUnit::Cycle, llvm::SparseSet< ValueT, KeyT, KeyFunctorT, SparseT >::end(), llvm::SparseSet< ValueT, KeyT, KeyFunctorT, SparseT >::erase(), llvm::SparseSet< ValueT, KeyT, KeyFunctorT, SparseT >::find(), I, llvm::LiveRegUnit::MI, MI, llvm::LiveRegUnit::Op, llvm::SmallVectorTemplateBase< T, bool >::push_back(), Reg, TII, and TRI.

DEBUG_TYPE

false

Metrics