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