LLVM 20.0.0git
|
#include "llvm/CodeGen/MachineTraceMetrics.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/PostOrderIterator.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/SparseSet.h"
#include "llvm/CodeGen/MachineBasicBlock.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/CodeGen/MachineInstr.h"
#include "llvm/CodeGen/MachineLoopInfo.h"
#include "llvm/CodeGen/MachineOperand.h"
#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/TargetRegisterInfo.h"
#include "llvm/CodeGen/TargetSchedule.h"
#include "llvm/CodeGen/TargetSubtargetInfo.h"
#include "llvm/InitializePasses.h"
#include "llvm/Pass.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/Format.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <tuple>
#include <utility>
Go to the source code of this file.
Classes | |
class | llvm::po_iterator_storage< LoopBounds, true > |
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
Macros | |
#define | DEBUG_TYPE "machine-trace-metrics" |
Typedefs | |
using | MIHeightMap = DenseMap< const MachineInstr *, unsigned > |
Variables | |
DEBUG_TYPE | |
Machine Trace | Metrics |
Machine Trace | false |
#define DEBUG_TYPE "machine-trace-metrics" |
Definition at line 38 of file MachineTraceMetrics.cpp.
using MIHeightMap = DenseMap<const MachineInstr *, unsigned> |
Definition at line 987 of file MachineTraceMetrics.cpp.
|
static |
Definition at line 698 of file MachineTraceMetrics.cpp.
References MRI, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and UseMI.
Referenced by llvm::MachineTraceMetrics::Ensemble::updateDepth().
|
static |
Definition at line 726 of file MachineTraceMetrics.cpp.
References assert(), llvm::MachineInstrBuilder::getReg(), MRI, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and UseMI.
Referenced by llvm::MachineTraceMetrics::Trace::getPHIDepth(), and llvm::MachineTraceMetrics::Ensemble::updateDepth().
INITIALIZE_PASS_BEGIN | ( | MachineTraceMetricsWrapperPass | , |
DEBUG_TYPE | , | ||
"Machine Trace Metrics" | , | ||
false | , | ||
true | |||
) |
|
static |
Definition at line 317 of file MachineTraceMetrics.cpp.
References From.
Referenced by llvm::po_iterator_storage< LoopBounds, true >::insertEdge().
|
static |
Definition at line 991 of file MachineTraceMetrics.cpp.
References llvm::TargetSchedModel::computeOperandLatency(), I, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert(), and UseMI.
|
static |
Definition at line 745 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().
|
static |
Definition at line 934 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 |
Definition at line 62 of file MachineTraceMetrics.cpp.
Definition at line 63 of file MachineTraceMetrics.cpp.
Definition at line 63 of file MachineTraceMetrics.cpp.
Referenced by llvm::PPCTTIImpl::isHardwareLoopProfitable(), llvm::FunctionSpecializer::run(), and llvm::UnrollCostEstimator::UnrollCostEstimator().