LLVM API Documentation
#include <MachineInstr.h>
Static Public Member Functions | |
static MachineInstr * | getEmptyKey () |
static MachineInstr * | getTombstoneKey () |
static unsigned | getHashValue (const MachineInstr *const &MI) |
static bool | isEqual (const MachineInstr *const &LHS, const MachineInstr *const &RHS) |
MachineInstrExpressionTrait - Special DenseMapInfo traits to compare MachineInstr* by *value* of the instruction rather than by pointer value. The hashing and equality testing functions ignore definitions so this is useful for CSE, etc.
Definition at line 1197 of file MachineInstr.h.
static MachineInstr* llvm::MachineInstrExpressionTrait::getEmptyKey | ( | ) | [inline, static] |
Definition at line 1198 of file MachineInstr.h.
Referenced by isEqual().
unsigned MachineInstrExpressionTrait::getHashValue | ( | const MachineInstr *const & | MI | ) | [static] |
Definition at line 1917 of file MachineInstr.cpp.
References llvm::SmallVectorTemplateCommon< T >::begin(), llvm::SmallVectorTemplateCommon< T >::end(), llvm::MachineInstr::getNumOperands(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::hash_combine_range(), llvm::MachineOperand::hash_value, llvm::MachineOperand::isDef(), llvm::MachineOperand::isReg(), llvm::TargetRegisterInfo::isVirtualRegister(), llvm::SmallVectorTemplateBase< T, isPodLike< T >::value >::push_back(), and llvm::SmallVectorImpl< T >::reserve().
static MachineInstr* llvm::MachineInstrExpressionTrait::getTombstoneKey | ( | ) | [inline, static] |
Definition at line 1202 of file MachineInstr.h.
Referenced by isEqual().
static bool llvm::MachineInstrExpressionTrait::isEqual | ( | const MachineInstr *const & | LHS, |
const MachineInstr *const & | RHS | ||
) | [inline, static] |
Definition at line 1208 of file MachineInstr.h.
References getEmptyKey(), getTombstoneKey(), llvm::MachineInstr::IgnoreVRegDefs, and llvm::MachineInstr::isIdenticalTo().