LLVM 20.0.0git
|
#include "Target/SPIRV/SPIRVGlobalRegistry.h"
Public Attributes | |
MachineFunction * | CurMF |
Definition at line 30 of file SPIRVGlobalRegistry.h.
SPIRVGlobalRegistry::SPIRVGlobalRegistry | ( | unsigned | PointerSize | ) |
Definition at line 43 of file SPIRVGlobalRegistry.cpp.
|
inline |
Definition at line 133 of file SPIRVGlobalRegistry.h.
|
inline |
Definition at line 121 of file SPIRVGlobalRegistry.h.
References llvm::CallingConv::C.
Referenced by addConstantsToTrack(), generateAssignInstrs(), insertInlineAsmProcess(), and llvm::SPIRVCallLowering::lowerFormalArguments().
|
inline |
Definition at line 129 of file SPIRVGlobalRegistry.h.
References F.
|
inline |
Definition at line 125 of file SPIRVGlobalRegistry.h.
|
inline |
Definition at line 137 of file SPIRVGlobalRegistry.h.
References MI.
|
inline |
Definition at line 180 of file SPIRVGlobalRegistry.h.
Definition at line 241 of file SPIRVGlobalRegistry.h.
Definition at line 225 of file SPIRVGlobalRegistry.h.
|
inline |
Definition at line 309 of file SPIRVGlobalRegistry.h.
References F, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert(), and MI.
Referenced by llvm::SPIRVTargetLowering::finalizeLowering().
|
inline |
Definition at line 160 of file SPIRVGlobalRegistry.h.
Referenced by addConstantsToTrack(), buildGlobalVariable(), and llvm::SPIRVCallLowering::lowerFormalArguments().
Definition at line 201 of file SPIRVGlobalRegistry.h.
|
inline |
Definition at line 169 of file SPIRVGlobalRegistry.h.
Referenced by llvm::SPIRVCallLowering::lowerFormalArguments().
|
inline |
Definition at line 210 of file SPIRVGlobalRegistry.h.
Referenced by generateAssignInstrs().
SPIRVType * SPIRVGlobalRegistry::assignFloatTypeToVReg | ( | unsigned | BitWidth, |
Register | VReg, | ||
MachineInstr & | I, | ||
const SPIRVInstrInfo & | TII | ||
) |
Definition at line 56 of file SPIRVGlobalRegistry.cpp.
References assignSPIRVTypeToVReg(), llvm::BitWidth, CurMF, getOrCreateSPIRVFloatType(), I, and TII.
SPIRVType * SPIRVGlobalRegistry::assignIntTypeToVReg | ( | unsigned | BitWidth, |
Register | VReg, | ||
MachineInstr & | I, | ||
const SPIRVInstrInfo & | TII | ||
) |
Definition at line 46 of file SPIRVGlobalRegistry.cpp.
References assignSPIRVTypeToVReg(), llvm::BitWidth, CurMF, getOrCreateSPIRVIntegerType(), I, and TII.
void SPIRVGlobalRegistry::assignSPIRVTypeToVReg | ( | SPIRVType * | Type, |
Register | VReg, | ||
const MachineFunction & | MF | ||
) |
Definition at line 82 of file SPIRVGlobalRegistry.cpp.
Referenced by assignFloatTypeToVReg(), assignIntTypeToVReg(), assignTypeToVReg(), assignVectTypeToVReg(), llvm::buildAtomicCompareExchangeInst(), llvm::buildAtomicRMWInst(), llvm::buildBoolRegister(), llvm::buildBuiltinVariableLoad(), buildConstantFP(), llvm::buildEnqueueKernel(), buildGlobalVariable(), llvm::buildNDRange(), convertPtrToInt(), llvm::createVirtualRegister(), llvm::generateGroupInst(), llvm::generateICarryBorrowInst(), llvm::generateImageSizeQueryInst(), llvm::generateReadImageInst(), llvm::genWorkgroupQuery(), getOrCreateConstNullPtr(), getOrCreateUndef(), llvm::insertAssignInstr(), insertBitcasts(), insertInlineAsmProcess(), llvm::SPIRVCallLowering::lowerCall(), llvm::SPIRVCallLowering::lowerFormalArguments(), propagateSPIRVType(), and llvm::setRegClassType().
SPIRVType * SPIRVGlobalRegistry::assignTypeToVReg | ( | const Type * | Type, |
Register | VReg, | ||
MachineIRBuilder & | MIRBuilder, | ||
SPIRV::AccessQualifier::AccessQualifier | AQ = SPIRV::AccessQualifier::ReadWrite , |
||
bool | EmitIR = true |
||
) |
Definition at line 73 of file SPIRVGlobalRegistry.cpp.
References assignSPIRVTypeToVReg(), llvm::MachineIRBuilder::getMF(), and getOrCreateSPIRVType().
Referenced by buildConstantInt(), and llvm::SPIRVCallLowering::lowerCall().
SPIRVType * SPIRVGlobalRegistry::assignVectTypeToVReg | ( | SPIRVType * | BaseType, |
unsigned | NumElements, | ||
Register | VReg, | ||
MachineInstr & | I, | ||
const SPIRVInstrInfo & | TII | ||
) |
Definition at line 64 of file SPIRVGlobalRegistry.cpp.
References assignSPIRVTypeToVReg(), CurMF, getOrCreateSPIRVVectorType(), I, and TII.
Register SPIRVGlobalRegistry::buildConstantFP | ( | APFloat | Val, |
MachineIRBuilder & | MIRBuilder, | ||
SPIRVType * | SpvType = nullptr |
||
) |
Definition at line 406 of file SPIRVGlobalRegistry.cpp.
References llvm::SPIRVGeneralDuplicatesTracker::add(), llvm::addNumImm(), assignSPIRVTypeToVReg(), llvm::MachineIRBuilder::buildInstr(), llvm::SPIRVGeneralDuplicatesTracker::find(), llvm::Type::getFloatTy(), llvm::MachineIRBuilder::getMF(), getOrCreateSPIRVType(), getScalarOrVectorBitWidth(), getSPIRVTypeID(), llvm::Register::isValid(), and llvm::LLT::scalar().
Referenced by llvm::generateReadImageInst().
Register SPIRVGlobalRegistry::buildConstantInt | ( | uint64_t | Val, |
MachineIRBuilder & | MIRBuilder, | ||
SPIRVType * | SpvType, | ||
bool | EmitIR = true , |
||
bool | ZeroAsNull = true |
||
) |
Definition at line 359 of file SPIRVGlobalRegistry.cpp.
References llvm::SPIRVGeneralDuplicatesTracker::add(), llvm::MachineInstrBuilder::addDef(), llvm::addNumImm(), llvm::MachineInstrBuilder::addUse(), assert(), assignTypeToVReg(), llvm::BitWidth, llvm::MachineIRBuilder::buildConstant(), llvm::MachineIRBuilder::buildInstr(), llvm::constrainSelectedInstRegOperands(), CurMF, llvm::SPIRVGeneralDuplicatesTracker::find(), llvm::MachineIRBuilder::getMF(), getScalarOrVectorBitWidth(), getSPIRVTypeID(), llvm::MachineFunction::getSubtarget(), getTypeForSPIRVType(), llvm::Register::isValid(), and llvm::LLT::scalar().
Referenced by llvm::buildConstantIntReg32(), llvm::buildNDRange(), llvm::buildSelectInst(), llvm::generateGroupInst(), llvm::genWorkgroupQuery(), and getOrCreateOpTypeCoopMatr().
Register SPIRVGlobalRegistry::buildConstantSampler | ( | Register | Res, |
unsigned | AddrMode, | ||
unsigned | Param, | ||
unsigned | FilerMode, | ||
MachineIRBuilder & | MIRBuilder, | ||
SPIRVType * | SpvType | ||
) |
Definition at line 649 of file SPIRVGlobalRegistry.cpp.
References assert(), llvm::MachineIRBuilder::buildInstr(), llvm::MachineRegisterInfo::createVirtualRegister(), llvm::MachineIRBuilder::getMRI(), getOrCreateSPIRVType(), getOrCreateSPIRVTypeByName(), getSPIRVTypeID(), getTypeForSPIRVType(), llvm::Register::isValid(), and llvm::report_fatal_error().
Referenced by llvm::generateReadImageInst(), and llvm::generateSampleImageInst().
Register SPIRVGlobalRegistry::buildGlobalVariable | ( | Register | Reg, |
SPIRVType * | BaseType, | ||
StringRef | Name, | ||
const GlobalValue * | GV, | ||
SPIRV::StorageClass::StorageClass | Storage, | ||
const MachineInstr * | Init, | ||
bool | IsConst, | ||
bool | HasLinkageTy, | ||
SPIRV::LinkageType::LinkageType | LinkageType, | ||
MachineIRBuilder & | MIRBuilder, | ||
bool | IsInstSelector | ||
) |
Definition at line 675 of file SPIRVGlobalRegistry.cpp.
References llvm::SPIRVGeneralDuplicatesTracker::add(), llvm::MachineInstrBuilder::addDef(), addGlobalObject(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addUse(), assignSPIRVTypeToVReg(), llvm::MachineIRBuilder::buildCopy(), llvm::MachineIRBuilder::buildInstr(), llvm::buildOpDecorate(), llvm::buildOpName(), llvm::buildOpSpirvDecorations(), llvm::constrainSelectedInstRegOperands(), CurMF, llvm::GlobalValue::ExternalLinkage, llvm::SPIRVGeneralDuplicatesTracker::find(), llvm::GlobalObject::getAlign(), llvm::MachineFunction::getFunction(), llvm::GlobalObject::getMetadata(), llvm::MachineIRBuilder::getMF(), llvm::MachineIRBuilder::getMRI(), llvm::Value::getName(), llvm::MachineInstr::getOperand(), llvm::GlobalValue::getParent(), getPointerSize(), llvm::MachineOperand::getReg(), llvm::getSpirvBuiltInIdByName(), getSPIRVTypeForVReg(), getSPIRVTypeID(), llvm::MachineFunction::getSubtarget(), getTypeForSPIRVType(), llvm::Value::hasName(), MRI, Name, llvm::LLT::pointer(), llvm::Align::value(), and llvm::MaybeAlign::valueOrOne().
Referenced by llvm::buildBuiltinVariableLoad(), and getOrCreateGlobalVariableWithBinding().
|
inline |
Definition at line 145 of file SPIRVGlobalRegistry.h.
References llvm::CallingConv::C.
|
inline |
Definition at line 153 of file SPIRVGlobalRegistry.h.
References F.
|
inline |
Definition at line 149 of file SPIRVGlobalRegistry.h.
|
inline |
Definition at line 141 of file SPIRVGlobalRegistry.h.
References MI.
Referenced by addConstantsToTrack(), generateAssignInstrs(), and llvm::SPIRVCallLowering::lowerCall().
Definition at line 184 of file SPIRVGlobalRegistry.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find().
Referenced by updateIfExistAssignPtrTypeInstr().
Definition at line 245 of file SPIRVGlobalRegistry.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find().
Referenced by getDeducedGlobalValueType().
Definition at line 227 of file SPIRVGlobalRegistry.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find().
Referenced by getAtomicElemTy(), getDeducedGlobalValueType(), getFunctionPointerElemType(), llvm::SPIRVCallLowering::lowerCall(), llvm::SPIRVCallLowering::lowerFormalArguments(), and updateIfExistDeducedElementType().
Definition at line 203 of file SPIRVGlobalRegistry.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find().
Referenced by restoreMutatedType().
|
inline |
Definition at line 173 of file SPIRVGlobalRegistry.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find().
Referenced by llvm::SPIRVCallLowering::lowerCall().
|
inline |
Definition at line 214 of file SPIRVGlobalRegistry.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), and Name.
|
inline |
Definition at line 158 of file SPIRVGlobalRegistry.h.
|
inline |
Definition at line 250 of file SPIRVGlobalRegistry.h.
References findDeducedCompositeType(), findDeducedElementType(), and llvm::Global.
Referenced by propagateSPIRVType().
|
inline |
Definition at line 315 of file SPIRVGlobalRegistry.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), F, and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find().
Referenced by validateForwardCalls().
|
inline |
Definition at line 286 of file SPIRVGlobalRegistry.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), and MI.
Referenced by validateForwardCalls().
|
inline |
Definition at line 277 of file SPIRVGlobalRegistry.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), F, and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find().
Referenced by validateFunCall().
|
inline |
Definition at line 267 of file SPIRVGlobalRegistry.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find().
|
inline |
Definition at line 163 of file SPIRVGlobalRegistry.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find().
Definition at line 1229 of file SPIRVGlobalRegistry.cpp.
References assert(), and getSPIRVTypeForVReg().
Referenced by isBitcastCompatible().
Register SPIRVGlobalRegistry::getOrCreateConsIntVector | ( | uint64_t | Val, |
MachineIRBuilder & | MIRBuilder, | ||
SPIRVType * | SpvType, | ||
bool | EmitIR = true |
||
) |
Definition at line 609 of file SPIRVGlobalRegistry.cpp.
References assert(), llvm::VectorType::getElementCount(), llvm::VectorType::getElementType(), llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), getScalarOrVectorBitWidth(), llvm::ConstantVector::getSplat(), getTypeForSPIRVType(), and llvm::Type::isVectorTy().
Referenced by llvm::buildSelectInst().
Register SPIRVGlobalRegistry::getOrCreateConstFP | ( | APFloat | Val, |
MachineInstr & | I, | ||
SPIRVType * | SpvType, | ||
const SPIRVInstrInfo & | TII, | ||
bool | ZeroAsNull = true |
||
) |
Definition at line 283 of file SPIRVGlobalRegistry.cpp.
References assert(), llvm::BitWidth, llvm::constrainSelectedInstRegOperands(), CurMF, llvm::MachineFunction::getSubtarget(), I, llvm::APFloat::isPosZero(), and TII.
Register SPIRVGlobalRegistry::getOrCreateConstInt | ( | uint64_t | Val, |
MachineInstr & | I, | ||
SPIRVType * | SpvType, | ||
const SPIRVInstrInfo & | TII, | ||
bool | ZeroAsNull = true |
||
) |
Definition at line 322 of file SPIRVGlobalRegistry.cpp.
References llvm::MachineInstrBuilder::addDef(), llvm::addNumImm(), llvm::MachineInstrBuilder::addUse(), assert(), llvm::BitWidth, llvm::MachineIRBuilder::buildInstr(), llvm::constrainSelectedInstRegOperands(), CurMF, getSPIRVTypeID(), llvm::MachineFunction::getSubtarget(), I, and TII.
Referenced by getOrCreateSPIRVArrayType().
Register SPIRVGlobalRegistry::getOrCreateConstIntArray | ( | uint64_t | Val, |
size_t | Num, | ||
MachineInstr & | I, | ||
SPIRVType * | SpvType, | ||
const SPIRVInstrInfo & | TII | ||
) |
Definition at line 543 of file SPIRVGlobalRegistry.cpp.
References assert(), llvm::PoisonValue::get(), llvm::ConstantStruct::getAnon(), llvm::ArrayType::getElementType(), llvm::ArrayType::getNumElements(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), getScalarOrVectorBitWidth(), getSPIRVTypeForVReg(), getTypeForSPIRVType(), I, llvm::Type::isArrayTy(), and TII.
Referenced by llvm::buildNDRange().
Register SPIRVGlobalRegistry::getOrCreateConstNullPtr | ( | MachineIRBuilder & | MIRBuilder, |
SPIRVType * | SpvType | ||
) |
Definition at line 626 of file SPIRVGlobalRegistry.cpp.
References llvm::SPIRVGeneralDuplicatesTracker::add(), assignSPIRVTypeToVReg(), llvm::MachineIRBuilder::buildInstr(), llvm::MachineRegisterInfo::createGenericVirtualRegister(), CurMF, llvm::SPIRVGeneralDuplicatesTracker::find(), llvm::ConstantPointerNull::get(), llvm::PointerType::get(), getPointeeType(), llvm::MachineFunction::getRegInfo(), getSPIRVTypeID(), getTypeForSPIRVType(), llvm::Register::isValid(), llvm::LLT::pointer(), llvm::MachineRegisterInfo::setRegClass(), and typeToAddressSpace().
Referenced by llvm::buildEnqueueKernel().
Register SPIRVGlobalRegistry::getOrCreateConstVector | ( | APFloat | Val, |
MachineInstr & | I, | ||
SPIRVType * | SpvType, | ||
const SPIRVInstrInfo & | TII, | ||
bool | ZeroAsNull = true |
||
) |
Definition at line 524 of file SPIRVGlobalRegistry.cpp.
References assert(), llvm::VectorType::getElementCount(), llvm::VectorType::getElementType(), llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), getScalarOrVectorBitWidth(), llvm::ConstantVector::getSplat(), getTypeForSPIRVType(), I, llvm::Type::isFloatingPointTy(), llvm::Type::isVectorTy(), and TII.
Register SPIRVGlobalRegistry::getOrCreateConstVector | ( | uint64_t | Val, |
MachineInstr & | I, | ||
SPIRVType * | SpvType, | ||
const SPIRVInstrInfo & | TII, | ||
bool | ZeroAsNull = true |
||
) |
Definition at line 505 of file SPIRVGlobalRegistry.cpp.
References assert(), llvm::VectorType::getElementCount(), llvm::VectorType::getElementType(), llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), getScalarOrVectorBitWidth(), llvm::ConstantVector::getSplat(), getTypeForSPIRVType(), I, llvm::Type::isIntegerTy(), llvm::Type::isVectorTy(), and TII.
Register SPIRVGlobalRegistry::getOrCreateGlobalVariableWithBinding | ( | const SPIRVType * | VarType, |
uint32_t | Set, | ||
uint32_t | Binding, | ||
MachineIRBuilder & | MIRBuilder | ||
) |
Definition at line 828 of file SPIRVGlobalRegistry.cpp.
References buildGlobalVariable(), llvm::buildOpDecorate(), buildSpirvTypeName(), llvm::MachineRegisterInfo::createVirtualRegister(), llvm::MachineIRBuilder::getMRI(), getOrCreateSPIRVPointerType(), and Name.
SPIRVType * SPIRVGlobalRegistry::getOrCreateOpTypeByOpcode | ( | const Type * | Ty, |
MachineIRBuilder & | MIRBuilder, | ||
unsigned | Opcode | ||
) |
Definition at line 1395 of file SPIRVGlobalRegistry.cpp.
References llvm::SPIRVGeneralDuplicatesTracker::add(), llvm::MachineInstrBuilder::addDef(), llvm::MachineIRBuilder::buildInstr(), createTypeVReg(), llvm::SPIRVGeneralDuplicatesTracker::find(), llvm::MachineIRBuilder::getMF(), llvm::MachineFunction::getRegInfo(), llvm::MachineRegisterInfo::getUniqueVRegDef(), and llvm::Register::isValid().
Referenced by llvm::getNonParameterizedType().
SPIRVType * SPIRVGlobalRegistry::getOrCreateOpTypeCoopMatr | ( | MachineIRBuilder & | MIRBuilder, |
const TargetExtType * | ExtensionType, | ||
const SPIRVType * | ElemType, | ||
uint32_t | Scope, | ||
uint32_t | Rows, | ||
uint32_t | Columns, | ||
uint32_t | Use | ||
) |
Definition at line 1374 of file SPIRVGlobalRegistry.cpp.
References llvm::SPIRVGeneralDuplicatesTracker::add(), llvm::MachineInstrBuilder::addDef(), llvm::MachineInstrBuilder::addUse(), buildConstantInt(), llvm::MachineIRBuilder::buildInstr(), createTypeVReg(), llvm::SPIRVGeneralDuplicatesTracker::find(), llvm::MachineIRBuilder::getMF(), getOrCreateSPIRVIntegerType(), llvm::MachineFunction::getRegInfo(), getSPIRVTypeID(), llvm::MachineRegisterInfo::getUniqueVRegDef(), and llvm::Register::isValid().
Referenced by llvm::getCoopMatrType().
SPIRVType * SPIRVGlobalRegistry::getOrCreateOpTypeDeviceEvent | ( | MachineIRBuilder & | MIRBuilder | ) |
Definition at line 1349 of file SPIRVGlobalRegistry.cpp.
References llvm::SPIRVGeneralDuplicatesTracker::add(), llvm::MachineInstrBuilder::addDef(), llvm::MachineIRBuilder::buildInstr(), createTypeVReg(), llvm::MachineIRBuilder::getMF(), and llvm::SPIRV::make_descr_event().
Referenced by llvm::SPIRV::lowerBuiltinType().
SPIRVType * SPIRVGlobalRegistry::getOrCreateOpTypeFunctionWithArgs | ( | const Type * | Ty, |
SPIRVType * | RetType, | ||
const SmallVectorImpl< SPIRVType * > & | ArgTypes, | ||
MachineIRBuilder & | MIRBuilder | ||
) |
Definition at line 945 of file SPIRVGlobalRegistry.cpp.
References llvm::SPIRVGeneralDuplicatesTracker::add(), CurMF, llvm::SPIRVGeneralDuplicatesTracker::find(), llvm::MachineIRBuilder::getMF(), getSPIRVTypeForVReg(), and getSPIRVTypeID().
Referenced by insertInlineAsmProcess(), and llvm::SPIRVCallLowering::lowerFormalArguments().
SPIRVType * SPIRVGlobalRegistry::getOrCreateOpTypeImage | ( | MachineIRBuilder & | MIRBuilder, |
SPIRVType * | SampledType, | ||
SPIRV::Dim::Dim | Dim, | ||
uint32_t | Depth, | ||
uint32_t | Arrayed, | ||
uint32_t | Multisampled, | ||
uint32_t | Sampled, | ||
SPIRV::ImageFormat::ImageFormat | ImageFormat, | ||
SPIRV::AccessQualifier::AccessQualifier | AccQual | ||
) |
Definition at line 1299 of file SPIRVGlobalRegistry.cpp.
References llvm::SPIRVGeneralDuplicatesTracker::add(), llvm::MachineInstrBuilder::addDef(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addUse(), llvm::MachineIRBuilder::buildInstr(), createTypeVReg(), llvm::Depth, llvm::MachineIRBuilder::getMF(), getSPIRVTypeID(), and llvm::SPIRV::make_descr_image().
Referenced by llvm::getImageType().
SPIRVType * SPIRVGlobalRegistry::getOrCreateOpTypePipe | ( | MachineIRBuilder & | MIRBuilder, |
SPIRV::AccessQualifier::AccessQualifier | AccQual | ||
) |
Definition at line 1336 of file SPIRVGlobalRegistry.cpp.
References llvm::SPIRVGeneralDuplicatesTracker::add(), llvm::MachineInstrBuilder::addDef(), llvm::MachineInstrBuilder::addImm(), llvm::MachineIRBuilder::buildInstr(), createTypeVReg(), llvm::MachineIRBuilder::getMF(), and llvm::SPIRV::make_descr_pipe().
Referenced by llvm::getPipeType().
SPIRVType * SPIRVGlobalRegistry::getOrCreateOpTypeSampledImage | ( | SPIRVType * | ImageType, |
MachineIRBuilder & | MIRBuilder | ||
) |
Definition at line 1359 of file SPIRVGlobalRegistry.cpp.
References llvm::SPIRVGeneralDuplicatesTracker::add(), llvm::MachineInstrBuilder::addDef(), llvm::MachineInstrBuilder::addUse(), llvm::MachineIRBuilder::buildInstr(), createTypeVReg(), llvm::MachineIRBuilder::getMF(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), llvm::MachineFunction::getRegInfo(), getSPIRVTypeID(), llvm::MachineRegisterInfo::getVRegDef(), and llvm::SPIRV::make_descr_sampled_image().
Referenced by llvm::generateReadImageInst(), llvm::generateSampleImageInst(), and llvm::getSampledImageType().
SPIRVType * SPIRVGlobalRegistry::getOrCreateOpTypeSampler | ( | MachineIRBuilder & | MIRBuilder | ) |
Definition at line 1327 of file SPIRVGlobalRegistry.cpp.
References llvm::SPIRVGeneralDuplicatesTracker::add(), llvm::MachineInstrBuilder::addDef(), llvm::MachineIRBuilder::buildInstr(), createTypeVReg(), llvm::MachineIRBuilder::getMF(), and llvm::SPIRV::make_descr_sampler().
Referenced by llvm::getSamplerType().
SPIRVType * SPIRVGlobalRegistry::getOrCreateSPIRVArrayType | ( | SPIRVType * | BaseType, |
unsigned | NumElements, | ||
MachineInstr & | I, | ||
const SPIRVInstrInfo & | TII | ||
) |
Definition at line 1572 of file SPIRVGlobalRegistry.cpp.
References llvm::SPIRVGeneralDuplicatesTracker::add(), llvm::MachineInstrBuilder::addDef(), llvm::MachineInstrBuilder::addUse(), llvm::BuildMI(), createTypeVReg(), CurMF, llvm::SPIRVGeneralDuplicatesTracker::find(), llvm::ArrayType::get(), getOrCreateConstInt(), getOrCreateSPIRVIntegerType(), llvm::MachineFunction::getRegInfo(), getSPIRVTypeForVReg(), getSPIRVTypeID(), getTypeForSPIRVType(), I, and TII.
SPIRVType * SPIRVGlobalRegistry::getOrCreateSPIRVBoolType | ( | MachineInstr & | I, |
const SPIRVInstrInfo & | TII | ||
) |
Definition at line 1534 of file SPIRVGlobalRegistry.cpp.
References llvm::SPIRVGeneralDuplicatesTracker::add(), llvm::MachineInstrBuilder::addDef(), llvm::BuildMI(), createTypeVReg(), CurMF, llvm::SPIRVGeneralDuplicatesTracker::find(), llvm::IntegerType::get(), llvm::Function::getContext(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getRegInfo(), getSPIRVTypeForVReg(), getSPIRVTypeID(), I, and TII.
SPIRVType * SPIRVGlobalRegistry::getOrCreateSPIRVBoolType | ( | MachineIRBuilder & | MIRBuilder | ) |
Definition at line 1527 of file SPIRVGlobalRegistry.cpp.
References llvm::IntegerType::get(), llvm::Function::getContext(), llvm::MachineFunction::getFunction(), llvm::MachineIRBuilder::getMF(), and getOrCreateSPIRVType().
Referenced by llvm::buildBoolRegister(), llvm::generateGroupInst(), and llvm::genWorkgroupQuery().
SPIRVType * SPIRVGlobalRegistry::getOrCreateSPIRVFloatType | ( | unsigned | BitWidth, |
MachineInstr & | I, | ||
const SPIRVInstrInfo & | TII | ||
) |
Definition at line 1506 of file SPIRVGlobalRegistry.cpp.
References llvm::BitWidth, CurMF, llvm::Function::getContext(), llvm::Type::getDoubleTy(), llvm::Type::getFloatTy(), llvm::MachineFunction::getFunction(), llvm::Type::getHalfTy(), getOrCreateSPIRVType(), I, llvm_unreachable, and TII.
Referenced by assignFloatTypeToVReg().
SPIRVType * SPIRVGlobalRegistry::getOrCreateSPIRVIntegerType | ( | unsigned | BitWidth, |
MachineInstr & | I, | ||
const SPIRVInstrInfo & | TII | ||
) |
Definition at line 1495 of file SPIRVGlobalRegistry.cpp.
References llvm::BitWidth, CurMF, llvm::IntegerType::get(), llvm::Function::getContext(), llvm::MachineFunction::getFunction(), getOrCreateSPIRVType(), I, and TII.
SPIRVType * SPIRVGlobalRegistry::getOrCreateSPIRVIntegerType | ( | unsigned | BitWidth, |
MachineIRBuilder & | MIRBuilder | ||
) |
Definition at line 1463 of file SPIRVGlobalRegistry.cpp.
References llvm::BitWidth, llvm::IntegerType::get(), llvm::Function::getContext(), llvm::MachineFunction::getFunction(), llvm::MachineIRBuilder::getMF(), and getOrCreateSPIRVType().
Referenced by assignIntTypeToVReg(), llvm::buildAtomicCompareExchangeInst(), llvm::buildConstantIntReg32(), llvm::buildEnqueueKernel(), llvm::SPIRVTargetLowering::finalizeLowering(), llvm::generateImageSizeQueryInst(), llvm::genWorkgroupQuery(), getOrCreateOpTypeCoopMatr(), getOrCreateSPIRVArrayType(), and propagateSPIRVType().
SPIRVType * SPIRVGlobalRegistry::getOrCreateSPIRVPointerType | ( | SPIRVType * | BaseType, |
MachineInstr & | I, | ||
const SPIRVInstrInfo & | TII, | ||
SPIRV::StorageClass::StorageClass | SClass = SPIRV::StorageClass::Function |
||
) |
Definition at line 1616 of file SPIRVGlobalRegistry.cpp.
References getOrCreateSPIRVPointerType(), and I.
SPIRVType * SPIRVGlobalRegistry::getOrCreateSPIRVPointerType | ( | SPIRVType * | BaseType, |
MachineIRBuilder & | MIRBuilder, | ||
SPIRV::StorageClass::StorageClass | SClass = SPIRV::StorageClass::Function |
||
) |
Definition at line 1591 of file SPIRVGlobalRegistry.cpp.
References llvm::SPIRVGeneralDuplicatesTracker::add(), llvm::MachineInstrBuilder::addDef(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addUse(), llvm::BuildMI(), createTypeVReg(), CurMF, llvm::SPIRVGeneralDuplicatesTracker::find(), llvm::TypedPointerType::get(), llvm::MCInstrInfo::get(), llvm::MachineIRBuilder::getDebugLoc(), llvm::MachineIRBuilder::getInsertPt(), llvm::MachineIRBuilder::getMBB(), llvm::MachineFunction::getRegInfo(), getSPIRVTypeForVReg(), getSPIRVTypeID(), llvm::MachineIRBuilder::getTII(), getTypeForSPIRVType(), and llvm::storageClassToAddressSpace().
Referenced by llvm::buildBuiltinVariableLoad(), llvm::buildEnqueueKernel(), createNewPtrType(), generateAssignInstrs(), getArgSPIRVType(), getOrCreateGlobalVariableWithBinding(), getOrCreateSPIRVPointerType(), getOrCreateSPIRVTypeByName(), insertBitcasts(), propagateSPIRVType(), validateLifetimeStart(), and validatePtrUnwrapStructField().
SPIRVType * SPIRVGlobalRegistry::getOrCreateSPIRVType | ( | const Type * | Type, |
MachineIRBuilder & | MIRBuilder, | ||
SPIRV::AccessQualifier::AccessQualifier | AQ = SPIRV::AccessQualifier::ReadWrite , |
||
bool | EmitIR = true |
||
) |
Definition at line 1122 of file SPIRVGlobalRegistry.cpp.
References llvm::SPIRVGeneralDuplicatesTracker::find(), llvm::Function::getContext(), llvm::MachineFunction::getFunction(), llvm::Type::getInt8Ty(), llvm::MachineIRBuilder::getMF(), llvm::getPointerAddressSpace(), getSPIRVTypeForVReg(), llvm::isPointerTy(), llvm::isSpecialOpaqueType(), llvm::isTypedPointerTy(), and llvm::isTypedPointerWrapper().
Referenced by addConstantsToTrack(), assignTypeToVReg(), buildConstantFP(), buildConstantSampler(), llvm::buildNDRange(), createNewPtrType(), llvm::createVirtualRegister(), generateAssignInstrs(), getArgSPIRVType(), llvm::getCoopMatrType(), llvm::getImageType(), getOrCreateSPIRVBoolType(), llvm::getOrCreateSPIRVDeviceEventPointer(), getOrCreateSPIRVFloatType(), getOrCreateSPIRVIntegerType(), getOrCreateSPIRVTypeByName(), getOrCreateSPIRVVectorType(), llvm::insertAssignInstr(), insertBitcasts(), insertInlineAsmProcess(), llvm::SPIRVLegalizerInfo::legalizeCustom(), llvm::SPIRVCallLowering::lowerCall(), llvm::SPIRVCallLowering::lowerFormalArguments(), propagateSPIRVType(), llvm::setRegClassType(), and validateLifetimeStart().
SPIRVType * SPIRVGlobalRegistry::getOrCreateSPIRVType | ( | unsigned | BitWidth, |
MachineInstr & | I, | ||
const SPIRVInstrInfo & | TII, | ||
unsigned | SPIRVOPcode, | ||
Type * | LLVMTy | ||
) |
Definition at line 1478 of file SPIRVGlobalRegistry.cpp.
References llvm::SPIRVGeneralDuplicatesTracker::add(), llvm::MachineInstrBuilder::addDef(), llvm::MachineInstrBuilder::addImm(), llvm::BitWidth, llvm::BuildMI(), createTypeVReg(), CurMF, llvm::SPIRVGeneralDuplicatesTracker::find(), llvm::MachineFunction::getRegInfo(), getSPIRVTypeForVReg(), getSPIRVTypeID(), I, and TII.
SPIRVType * SPIRVGlobalRegistry::getOrCreateSPIRVTypeByName | ( | StringRef | TypeStr, |
MachineIRBuilder & | MIRBuilder, | ||
SPIRV::StorageClass::StorageClass | SC = SPIRV::StorageClass::Function , |
||
SPIRV::AccessQualifier::AccessQualifier | AQ = SPIRV::AccessQualifier::ReadWrite |
||
) |
Definition at line 1416 of file SPIRVGlobalRegistry.cpp.
References llvm::StringRef::consume_back(), llvm::StringRef::consume_front(), llvm::StringRef::find(), llvm::StringRef::getAsInteger(), llvm::MachineIRBuilder::getContext(), llvm::Function::getContext(), llvm::MachineFunction::getFunction(), llvm::MachineIRBuilder::getMF(), getOrCreateSPIRVPointerType(), getOrCreateSPIRVType(), getOrCreateSPIRVVectorType(), llvm::hasBuiltinTypePrefix(), llvm::parseBasicTypeName(), llvm::SPIRV::parseBuiltinTypeNameToTargetExtType(), llvm::StringRef::starts_with(), llvm::StringRef::str(), and llvm::StringRef::substr().
Referenced by buildConstantSampler(), llvm::generateAsyncCopy(), and llvm::generateSampleImageInst().
SPIRVType * SPIRVGlobalRegistry::getOrCreateSPIRVVectorType | ( | SPIRVType * | BaseType, |
unsigned | NumElements, | ||
MachineInstr & | I, | ||
const SPIRVInstrInfo & | TII | ||
) |
Definition at line 1555 of file SPIRVGlobalRegistry.cpp.
References llvm::SPIRVGeneralDuplicatesTracker::add(), llvm::MachineInstrBuilder::addDef(), llvm::MachineInstrBuilder::addImm(), llvm::MachineInstrBuilder::addUse(), llvm::BuildMI(), createTypeVReg(), CurMF, llvm::SPIRVGeneralDuplicatesTracker::find(), llvm::FixedVectorType::get(), llvm::MachineFunction::getRegInfo(), getSPIRVTypeForVReg(), getSPIRVTypeID(), getTypeForSPIRVType(), I, and TII.
SPIRVType * SPIRVGlobalRegistry::getOrCreateSPIRVVectorType | ( | SPIRVType * | BaseType, |
unsigned | NumElements, | ||
MachineIRBuilder & | MIRBuilder | ||
) |
Definition at line 1547 of file SPIRVGlobalRegistry.cpp.
References llvm::FixedVectorType::get(), getOrCreateSPIRVType(), and getTypeForSPIRVType().
Referenced by assignVectTypeToVReg(), llvm::buildBoolRegister(), llvm::SPIRVTargetLowering::finalizeLowering(), llvm::generateGroupInst(), llvm::generateImageSizeQueryInst(), llvm::generateReadImageInst(), llvm::genWorkgroupQuery(), getOrCreateSPIRVTypeByName(), and propagateSPIRVType().
Register SPIRVGlobalRegistry::getOrCreateUndef | ( | MachineInstr & | I, |
SPIRVType * | SpvType, | ||
const SPIRVInstrInfo & | TII | ||
) |
Definition at line 1623 of file SPIRVGlobalRegistry.cpp.
References llvm::SPIRVGeneralDuplicatesTracker::add(), llvm::MachineInstrBuilder::addDef(), llvm::MachineInstrBuilder::addUse(), assert(), assignSPIRVTypeToVReg(), llvm::BuildMI(), llvm::constrainSelectedInstRegOperands(), llvm::MachineRegisterInfo::createGenericVirtualRegister(), CurMF, llvm::SPIRVGeneralDuplicatesTracker::find(), llvm::UndefValue::get(), llvm::MachineFunction::getRegInfo(), getSPIRVTypeID(), llvm::MachineFunction::getSubtarget(), getTypeForSPIRVType(), I, llvm::Register::isValid(), llvm::LLT::scalar(), llvm::MachineRegisterInfo::setRegClass(), and TII.
Definition at line 1255 of file SPIRVGlobalRegistry.cpp.
References llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), and getSPIRVTypeForVReg().
Referenced by llvm::generateICarryBorrowInst(), getOrCreateConstNullPtr(), getPointeeTypeOp(), propagateSPIRVType(), and validateLifetimeStart().
Definition at line 1261 of file SPIRVGlobalRegistry.cpp.
References llvm::MachineInstr::getOpcode(), getPointeeType(), and getSPIRVTypeForVReg().
|
inline |
Definition at line 445 of file SPIRVGlobalRegistry.h.
Referenced by llvm::buildBuiltinVariableLoad(), llvm::buildEnqueueKernel(), buildGlobalVariable(), llvm::buildNDRange(), llvm::genWorkgroupQuery(), getRegType(), and llvm::SPIRVCallLowering::lowerCall().
SPIRV::StorageClass::StorageClass SPIRVGlobalRegistry::getPointerStorageClass | ( | const SPIRVType * | Type | ) | const |
Definition at line 1294 of file SPIRVGlobalRegistry.cpp.
SPIRV::StorageClass::StorageClass SPIRVGlobalRegistry::getPointerStorageClass | ( | Register | VReg | ) | const |
Definition at line 1286 of file SPIRVGlobalRegistry.cpp.
References assert(), getPointerStorageClass(), and getSPIRVTypeForVReg().
Referenced by llvm::buildAtomicLoadInst(), llvm::buildAtomicStoreInst(), llvm::buildMemSemanticsReg(), getPointerStorageClass(), and propagateSPIRVType().
const TargetRegisterClass * SPIRVGlobalRegistry::getRegClass | ( | SPIRVType * | SpvType | ) | const |
Definition at line 1651 of file SPIRVGlobalRegistry.cpp.
References llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineOperand::getReg(), and getSPIRVTypeForVReg().
Referenced by llvm::buildAtomicCompareExchangeInst(), llvm::buildAtomicRMWInst(), llvm::buildBoolRegister(), buildOpBitcast(), convertPtrToInt(), createNewIdReg(), llvm::createVirtualRegister(), llvm::generateReadImageInst(), llvm::insertAssignInstr(), llvm::SPIRVCallLowering::lowerCall(), llvm::SPIRVCallLowering::lowerFormalArguments(), llvm::processInstr(), propagateSPIRVType(), llvm::setRegClassIfNull(), and llvm::setRegClassType().
Definition at line 1677 of file SPIRVGlobalRegistry.cpp.
References llvm::LLT::fixed_vector(), getAS(), llvm::MachineOperand::getImm(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), getPointerSize(), llvm::MachineOperand::getReg(), getScalarOrVectorBitWidth(), getSPIRVTypeForVReg(), llvm::LLT::pointer(), and llvm::LLT::scalar().
Referenced by createNewIdReg(), llvm::createVirtualRegister(), llvm::generateReadImageInst(), llvm::SPIRVCallLowering::lowerCall(), llvm::SPIRVCallLowering::lowerFormalArguments(), and llvm::setRegClassType().
Definition at line 1117 of file SPIRVGlobalRegistry.cpp.
References CurMF, llvm::MachineFunction::getRegInfo(), getSPIRVTypeForVReg(), and llvm::getVRegDef().
Definition at line 1215 of file SPIRVGlobalRegistry.cpp.
References assert(), getSPIRVTypeForVReg(), and llvm_unreachable.
Referenced by buildConstantFP(), buildConstantInt(), llvm::buildSelectInst(), llvm::generateBuiltinVar(), llvm::generateWaveInst(), getOrCreateConsIntVector(), getOrCreateConstIntArray(), getOrCreateConstVector(), getRegType(), and propagateSPIRVType().
Definition at line 1183 of file SPIRVGlobalRegistry.cpp.
References getScalarOrVectorComponentCount(), and getSPIRVTypeForVReg().
Referenced by llvm::generateConvertInst(), getScalarOrVectorComponentCount(), and propagateSPIRVType().
Definition at line 1188 of file SPIRVGlobalRegistry.cpp.
Definition at line 1197 of file SPIRVGlobalRegistry.cpp.
References getScalarOrVectorComponentType(), and getSPIRVTypeForVReg().
Referenced by getScalarOrVectorComponentType().
Definition at line 1202 of file SPIRVGlobalRegistry.cpp.
References assert(), llvm::MachineInstr::getOpcode(), getSPIRVTypeForVReg(), and isScalarOrVectorOfType().
SPIRVType * SPIRVGlobalRegistry::getSPIRVTypeForVReg | ( | Register | VReg, |
const MachineFunction * | MF = nullptr |
||
) | const |
Definition at line 1106 of file SPIRVGlobalRegistry.cpp.
References CurMF.
Referenced by llvm::buildAtomicCompareExchangeInst(), buildGlobalVariable(), llvm::buildNDRange(), buildOpBitcast(), createNewIdReg(), llvm::SPIRVTargetLowering::finalizeLowering(), llvm::generateCoopMatrInst(), llvm::generateDotOrFMulInst(), llvm::generateGroupInst(), llvm::generateICarryBorrowInst(), llvm::generateImageMiscQueryInst(), llvm::generateImageSizeQueryInst(), llvm::generateIntelSubgroupsInst(), llvm::generateReadImageInst(), llvm::generateSampleImageInst(), llvm::genWorkgroupQuery(), getNumScalarOrVectorTotalBitWidth(), getOrCreateConstIntArray(), getOrCreateOpTypeFunctionWithArgs(), getOrCreateSPIRVArrayType(), getOrCreateSPIRVBoolType(), getOrCreateSPIRVPointerType(), getOrCreateSPIRVType(), getOrCreateSPIRVVectorType(), getPointeeType(), getPointeeTypeOp(), getPointerStorageClass(), getRegClass(), getRegType(), getResultType(), getScalarOrVectorBitWidth(), getScalarOrVectorComponentCount(), getScalarOrVectorComponentType(), hasSPIRVTypeForVReg(), insertBitcasts(), isScalarOfType(), isScalarOrVectorOfType(), llvm::SPIRVLegalizerInfo::legalizeCustom(), llvm::SPIRV::lowerBuiltin(), llvm::SPIRVCallLowering::lowerCall(), llvm::processInstr(), processNewInstrs(), propagateSPIRVType(), retrieveScalarOrVectorIntType(), llvm::setRegClassIfNull(), validateAccessChain(), validateFunCallMachineDef(), validateGroupWaitEventsPtr(), validateLifetimeStart(), validatePtrTypes(), and validatePtrUnwrapStructField().
Definition at line 969 of file SPIRVGlobalRegistry.cpp.
References assert(), llvm::MachineInstr::defs(), llvm::MachineInstr::getOpcode(), and llvm::MachineInstr::uses().
Referenced by addConstantsToTrack(), llvm::buildAtomicCompareExchangeInst(), llvm::buildAtomicFlagInst(), llvm::buildAtomicFloatingRMWInst(), llvm::buildAtomicLoadInst(), llvm::buildAtomicRMWInst(), buildConstantFP(), buildConstantInt(), buildConstantSampler(), llvm::buildEnqueueKernel(), buildGlobalVariable(), llvm::buildNDRange(), buildOpBitcast(), doInsertBitcast(), llvm::generateAsyncCopy(), llvm::generateAtomicInst(), llvm::generateConstructInst(), llvm::generateConvertInst(), llvm::generateCoopMatrInst(), llvm::generateDotOrFMulInst(), llvm::generateEnqueueInst(), llvm::generateExtInst(), llvm::generateGroupInst(), llvm::generateGroupUniformInst(), llvm::generateICarryBorrowInst(), llvm::generateImageMiscQueryInst(), llvm::generateImageSizeQueryInst(), llvm::generateIntelSubgroupsInst(), llvm::generateKernelClockInst(), llvm::generateLoadStoreInst(), llvm::generateReadImageInst(), llvm::generateRelationalInst(), llvm::generateSampleImageInst(), llvm::generateSpecConstantInst(), llvm::generateVectorLoadStoreInst(), getOrCreateConstInt(), getOrCreateConstNullPtr(), getOrCreateOpTypeCoopMatr(), getOrCreateOpTypeFunctionWithArgs(), getOrCreateOpTypeImage(), getOrCreateOpTypeSampledImage(), getOrCreateSPIRVArrayType(), getOrCreateSPIRVBoolType(), getOrCreateSPIRVPointerType(), getOrCreateSPIRVType(), getOrCreateSPIRVVectorType(), getOrCreateUndef(), llvm::insertAssignInstr(), insertInlineAsmProcess(), llvm::SPIRV::lowerBuiltinType(), llvm::SPIRVCallLowering::lowerCall(), and llvm::SPIRVCallLowering::lowerFormalArguments().
Definition at line 351 of file SPIRVGlobalRegistry.h.
References assert(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), and llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find().
Referenced by llvm::buildBoolRegister(), buildConstantInt(), buildConstantSampler(), buildGlobalVariable(), fixFunctionTypeIfPtrArgs(), getOrCreateConsIntVector(), getOrCreateConstIntArray(), getOrCreateConstNullPtr(), getOrCreateConstVector(), getOrCreateSPIRVArrayType(), getOrCreateSPIRVPointerType(), getOrCreateSPIRVVectorType(), getOrCreateUndef(), validateFunCallMachineDef(), and validatePtrTypes().
|
inline |
Definition at line 306 of file SPIRVGlobalRegistry.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::empty().
Definition at line 383 of file SPIRVGlobalRegistry.h.
References getSPIRVTypeForVReg().
void SPIRVGlobalRegistry::invalidateMachineInstr | ( | MachineInstr * | MI | ) |
Definition at line 160 of file SPIRVGlobalRegistry.cpp.
References MI.
Definition at line 398 of file SPIRVGlobalRegistry.h.
bool SPIRVGlobalRegistry::isBitcastCompatible | ( | const SPIRVType * | Type1, |
const SPIRVType * | Type2 | ||
) | const |
Definition at line 1266 of file SPIRVGlobalRegistry.cpp.
References getNumScalarOrVectorTotalBitWidth(), llvm::MachineInstr::getOpcode(), retrieveScalarOrVectorIntType(), and Type2.
Referenced by buildOpBitcast(), and validatePtrTypes().
Definition at line 1161 of file SPIRVGlobalRegistry.cpp.
References assert(), and getSPIRVTypeForVReg().
Referenced by llvm::buildAtomicCompareExchangeInst(), and llvm::generateReadImageInst().
Definition at line 1168 of file SPIRVGlobalRegistry.cpp.
References assert(), llvm::MachineInstr::getOpcode(), and getSPIRVTypeForVReg().
Referenced by llvm::SPIRVTargetLowering::finalizeLowering(), llvm::generateConvertInst(), and getScalarOrVectorComponentType().
Definition at line 1250 of file SPIRVGlobalRegistry.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), and retrieveScalarOrVectorIntType().
|
inline |
Definition at line 300 of file SPIRVGlobalRegistry.h.
References F, and llvm::MachineOperand::getParent().
Referenced by llvm::SPIRVCallLowering::lowerFormalArguments().
|
inline |
Definition at line 295 of file SPIRVGlobalRegistry.h.
References F.
const SPIRVType * SPIRVGlobalRegistry::retrieveScalarOrVectorIntType | ( | const SPIRVType * | Type | ) | const |
Definition at line 1243 of file SPIRVGlobalRegistry.cpp.
References getSPIRVTypeForVReg().
Referenced by isBitcastCompatible(), and isScalarOrVectorSigned().
|
inline |
Definition at line 157 of file SPIRVGlobalRegistry.h.
Referenced by llvm::SPIRVModuleAnalysis::runOnModule().
|
inline |
Definition at line 391 of file SPIRVGlobalRegistry.h.
References CurMF.
Referenced by llvm::SPIRVTargetLowering::finalizeLowering(), llvm::SPIRVCallLowering::lowerCall(), llvm::SPIRVCallLowering::lowerFormalArguments(), and validateFunCallMachineDef().
|
inline |
Definition at line 189 of file SPIRVGlobalRegistry.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::erase(), and findAssignPtrTypeInstr().
|
inline |
Definition at line 232 of file SPIRVGlobalRegistry.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::erase(), and findDeducedElementType().
MachineFunction* llvm::SPIRVGlobalRegistry::CurMF |
Definition at line 119 of file SPIRVGlobalRegistry.h.
Referenced by assignFloatTypeToVReg(), assignIntTypeToVReg(), assignVectTypeToVReg(), buildConstantInt(), buildGlobalVariable(), getOrCreateConstFP(), getOrCreateConstInt(), getOrCreateConstNullPtr(), getOrCreateOpTypeFunctionWithArgs(), getOrCreateSPIRVArrayType(), getOrCreateSPIRVBoolType(), getOrCreateSPIRVFloatType(), getOrCreateSPIRVIntegerType(), getOrCreateSPIRVPointerType(), getOrCreateSPIRVType(), getOrCreateSPIRVVectorType(), getOrCreateUndef(), getResultType(), getSPIRVTypeForVReg(), processNewInstrs(), and setCurrentFunc().