13#ifndef LLVM_LIB_TARGET_SPIRV_SPIRVTYPEINST_H
14#define LLVM_LIB_TARGET_SPIRV_SPIRVTYPEINST_H
27 struct UncheckedConstructor {};
28 SPIRVTypeInst(
const MachineInstr *MI, UncheckedConstructor) :
MI(MI) {};
49 operator bool()
const {
return MI; }
57 return {MIInfo::getEmptyKey(), SPIRVTypeInst::UncheckedConstructor()};
60 return {MIInfo::getTombstoneKey(), SPIRVTypeInst::UncheckedConstructor()};
63 return MIInfo::getHashValue(Ty.MI);
This file defines DenseMapInfo traits for DenseMap.
Representation of each machine instruction.
MachineRegisterInfo - Keep track of information for virtual and physical registers,...
bool operator==(const MachineInstr *Other) const
SPIRVTypeInst & operator=(const SPIRVTypeInst &Other)=default
SPIRVTypeInst(const MachineInstr &MI)
const MachineInstr * operator->() const
bool operator==(const SPIRVTypeInst &Other) const
SPIRVTypeInst(const SPIRVTypeInst &Other)=default
bool operator!=(const MachineInstr *Other) const
bool operator!=(const SPIRVTypeInst &Other) const
const MachineInstr & operator*() const
This is an optimization pass for GlobalISel generic memory operations.
static SPIRVTypeInst getEmptyKey()
DenseMapInfo< MachineInstr * > MIInfo
static unsigned getHashValue(SPIRVTypeInst Ty)
static SPIRVTypeInst getTombstoneKey()
static bool isEqual(SPIRVTypeInst Ty1, SPIRVTypeInst Ty2)
An information struct used to provide DenseMap with the various necessary components for a given valu...