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 130 of file SPIRVGlobalRegistry.h.
|
inline |
Definition at line 118 of file SPIRVGlobalRegistry.h.
References llvm::CallingConv::C.
Referenced by addConstantsToTrack(), generateAssignInstrs(), insertInlineAsmProcess(), and llvm::SPIRVCallLowering::lowerFormalArguments().
|
inline |
Definition at line 126 of file SPIRVGlobalRegistry.h.
References F.
|
inline |
Definition at line 122 of file SPIRVGlobalRegistry.h.
|
inline |
Definition at line 134 of file SPIRVGlobalRegistry.h.
References MI.
|
inline |
Definition at line 175 of file SPIRVGlobalRegistry.h.
Definition at line 236 of file SPIRVGlobalRegistry.h.
Definition at line 220 of file SPIRVGlobalRegistry.h.
|
inline |
Definition at line 304 of file SPIRVGlobalRegistry.h.
References F, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert(), and MI.
Referenced by llvm::SPIRVTargetLowering::finalizeLowering().
Definition at line 196 of file SPIRVGlobalRegistry.h.
|
inline |
Definition at line 164 of file SPIRVGlobalRegistry.h.
Referenced by llvm::SPIRVCallLowering::lowerFormalArguments().
|
inline |
Definition at line 205 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().
|
inline |
Definition at line 154 of file SPIRVGlobalRegistry.h.
References TII.
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(), 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 142 of file SPIRVGlobalRegistry.h.
References llvm::CallingConv::C.
|
inline |
Definition at line 150 of file SPIRVGlobalRegistry.h.
References F.
|
inline |
Definition at line 146 of file SPIRVGlobalRegistry.h.
|
inline |
Definition at line 138 of file SPIRVGlobalRegistry.h.
References MI.
Referenced by addConstantsToTrack(), generateAssignInstrs(), and llvm::SPIRVCallLowering::lowerCall().
Definition at line 179 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 240 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 222 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 198 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 168 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 209 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 161 of file SPIRVGlobalRegistry.h.
|
inline |
Definition at line 245 of file SPIRVGlobalRegistry.h.
References findDeducedCompositeType(), findDeducedElementType(), and llvm::Global.
Referenced by propagateSPIRVType().
|
inline |
Definition at line 310 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 281 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 272 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 262 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 1228 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 827 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 1394 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 1373 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 1348 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 944 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 1298 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 1335 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 1358 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 1326 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 1571 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 1533 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 1526 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 1505 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 1494 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 1462 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 1615 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 1590 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 1121 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 1477 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 1415 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 1554 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 1546 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 1622 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 1254 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 1260 of file SPIRVGlobalRegistry.cpp.
References llvm::MachineInstr::getOpcode(), getPointeeType(), and getSPIRVTypeForVReg().
|
inline |
Definition at line 440 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 1293 of file SPIRVGlobalRegistry.cpp.
SPIRV::StorageClass::StorageClass SPIRVGlobalRegistry::getPointerStorageClass | ( | Register | VReg | ) | const |
Definition at line 1285 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 1650 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 1676 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 1116 of file SPIRVGlobalRegistry.cpp.
References CurMF, llvm::MachineFunction::getRegInfo(), getSPIRVTypeForVReg(), and llvm::getVRegDef().
Definition at line 1214 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 1182 of file SPIRVGlobalRegistry.cpp.
References getScalarOrVectorComponentCount(), and getSPIRVTypeForVReg().
Referenced by llvm::generateConvertInst(), getScalarOrVectorComponentCount(), and propagateSPIRVType().
Definition at line 1187 of file SPIRVGlobalRegistry.cpp.
Definition at line 1196 of file SPIRVGlobalRegistry.cpp.
References getScalarOrVectorComponentType(), and getSPIRVTypeForVReg().
Referenced by getScalarOrVectorComponentType().
Definition at line 1201 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 1105 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(), patchPhis(), llvm::processInstr(), processNewInstrs(), propagateSPIRVType(), retrieveScalarOrVectorIntType(), llvm::setRegClassIfNull(), validateAccessChain(), validateFunCallMachineDef(), validateGroupWaitEventsPtr(), validateLifetimeStart(), validatePtrTypes(), and validatePtrUnwrapStructField().
Definition at line 968 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(), llvm::SPIRVCallLowering::lowerFormalArguments(), and patchPhis().
Definition at line 346 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 301 of file SPIRVGlobalRegistry.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::empty().
Definition at line 378 of file SPIRVGlobalRegistry.h.
References getSPIRVTypeForVReg().
void SPIRVGlobalRegistry::invalidateMachineInstr | ( | MachineInstr * | MI | ) |
Definition at line 160 of file SPIRVGlobalRegistry.cpp.
References MI.
Definition at line 393 of file SPIRVGlobalRegistry.h.
bool SPIRVGlobalRegistry::isBitcastCompatible | ( | const SPIRVType * | Type1, |
const SPIRVType * | Type2 | ||
) | const |
Definition at line 1265 of file SPIRVGlobalRegistry.cpp.
References getNumScalarOrVectorTotalBitWidth(), llvm::MachineInstr::getOpcode(), retrieveScalarOrVectorIntType(), and Type2.
Referenced by buildOpBitcast(), and validatePtrTypes().
Definition at line 1160 of file SPIRVGlobalRegistry.cpp.
References assert(), and getSPIRVTypeForVReg().
Referenced by llvm::buildAtomicCompareExchangeInst(), and llvm::generateReadImageInst().
Definition at line 1167 of file SPIRVGlobalRegistry.cpp.
References assert(), llvm::MachineInstr::getOpcode(), and getSPIRVTypeForVReg().
Referenced by llvm::SPIRVTargetLowering::finalizeLowering(), llvm::generateConvertInst(), and getScalarOrVectorComponentType().
Definition at line 1249 of file SPIRVGlobalRegistry.cpp.
References llvm::MachineOperand::getImm(), llvm::MachineInstr::getOperand(), and retrieveScalarOrVectorIntType().
|
inline |
Definition at line 295 of file SPIRVGlobalRegistry.h.
References F, and llvm::MachineOperand::getParent().
Referenced by llvm::SPIRVCallLowering::lowerFormalArguments().
|
inline |
Definition at line 290 of file SPIRVGlobalRegistry.h.
References F.
const SPIRVType * SPIRVGlobalRegistry::retrieveScalarOrVectorIntType | ( | const SPIRVType * | Type | ) | const |
Definition at line 1242 of file SPIRVGlobalRegistry.cpp.
References getSPIRVTypeForVReg().
Referenced by isBitcastCompatible(), and isScalarOrVectorSigned().
|
inline |
Definition at line 160 of file SPIRVGlobalRegistry.h.
|
inline |
Definition at line 386 of file SPIRVGlobalRegistry.h.
References CurMF.
Referenced by llvm::SPIRVTargetLowering::finalizeLowering(), llvm::SPIRVCallLowering::lowerCall(), llvm::SPIRVCallLowering::lowerFormalArguments(), and validateFunCallMachineDef().
|
inline |
Definition at line 184 of file SPIRVGlobalRegistry.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::erase(), and findAssignPtrTypeInstr().
|
inline |
Definition at line 227 of file SPIRVGlobalRegistry.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::erase(), and findDeducedElementType().
MachineFunction* llvm::SPIRVGlobalRegistry::CurMF |
Definition at line 116 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().