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

Go to the source code of this file.

Namespaces
namespace llvm
This is an optimization pass for GlobalISel generic memory operations.
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, 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
DEBUG_TYPE
Machine Trace Metrics
Machine Trace false

DEBUG_TYPE

#define DEBUG_TYPE "machine-trace-metrics"

MIHeightMap

getDataDeps()

getPHIDeps()

INITIALIZE_PASS_BEGIN()

isExitingLoop()

pushDepHeight()

updatePhysDepsDownwards()

Definition at line 744 of file MachineTraceMetrics.cpp.

References llvm::Register::asMCReg(), llvm::SparseSet< ValueT, KeyFunctorT, SparseT >::end(), llvm::SparseSet< ValueT, KeyFunctorT, SparseT >::erase(), llvm::SparseSet< ValueT, KeyFunctorT, SparseT >::find(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), I, llvm::LiveRegUnit::MI, llvm::LiveRegUnit::Op, llvm::MachineInstr::operands(), llvm::SmallVectorTemplateBase< T, bool >::push_back(), TRI, and UseMI.

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

updatePhysDepsUpwards()

Definition at line 933 of file MachineTraceMetrics.cpp.

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

DEBUG_TYPE

false

Metrics