Lines Matching refs:SPIRV
62 SPIRV::AccessQualifier::AccessQualifier AccessQual, bool EmitIR) { in assignTypeToVReg()
78 MRI.setRegClass(Res, &SPIRV::TYPERegClass); in createTypeVReg()
84 MRI.setRegClass(Res, &SPIRV::TYPERegClass); in createTypeVReg()
89 return MIRBuilder.buildInstr(SPIRV::OpTypeBool) in getOpTypeBool()
98 SPIRV::Extension::SPV_INTEL_arbitrary_precision_integers)) in adjustOpTypeIntWidth()
118 SPIRV::Extension::SPV_INTEL_arbitrary_precision_integers)) { in getOpTypeInt()
119 MIRBuilder.buildInstr(SPIRV::OpExtension) in getOpTypeInt()
120 .addImm(SPIRV::Extension::SPV_INTEL_arbitrary_precision_integers); in getOpTypeInt()
121 MIRBuilder.buildInstr(SPIRV::OpCapability) in getOpTypeInt()
122 .addImm(SPIRV::Capability::ArbitraryPrecisionIntegersINTEL); in getOpTypeInt()
124 auto MIB = MIRBuilder.buildInstr(SPIRV::OpTypeInt) in getOpTypeInt()
133 auto MIB = MIRBuilder.buildInstr(SPIRV::OpTypeFloat) in getOpTypeFloat()
140 return MIRBuilder.buildInstr(SPIRV::OpTypeVoid) in getOpTypeVoid()
149 assert((EleOpc == SPIRV::OpTypeInt || EleOpc == SPIRV::OpTypeFloat || in getOpTypeVector()
150 EleOpc == SPIRV::OpTypeBool) && in getOpTypeVector()
153 auto MIB = MIRBuilder.buildInstr(SPIRV::OpTypeVector) in getOpTypeVector()
180 CurMF->getRegInfo().setRegClass(Res, &SPIRV::IDRegClass); in getOrCreateConstIntReg()
217 CurMF->getRegInfo().setRegClass(Res, &SPIRV::IDRegClass); in getOrCreateConstFloatReg()
247 MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpConstantNull)) in getOrCreateConstFP()
251 MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpConstantF)) in getOrCreateConstFP()
281 MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpConstantI)) in getOrCreateConstInt()
286 MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpConstantNull)) in getOrCreateConstInt()
314 MF.getRegInfo().setRegClass(Res, &SPIRV::IDRegClass); in buildConstantInt()
316 SPIRV::AccessQualifier::ReadWrite, EmitIR); in buildConstantInt()
325 MIB = MIRBuilder.buildInstr(SPIRV::OpConstantI) in buildConstantInt()
330 MIB = MIRBuilder.buildInstr(SPIRV::OpConstantNull) in buildConstantInt()
357 MF.getRegInfo().setRegClass(Res, &SPIRV::IDRegClass); in buildConstantFP()
362 MIB = MIRBuilder.buildInstr(SPIRV::OpConstantF) in buildConstantFP()
377 if (SpvType->getOpcode() == SPIRV::OpTypeVector || in getOrCreateBaseRegister()
378 SpvType->getOpcode() == SPIRV::OpTypeArray) { in getOrCreateBaseRegister()
382 if (Type->getOpcode() == SPIRV::OpTypeFloat) { in getOrCreateBaseRegister()
387 assert(Type->getOpcode() == SPIRV::OpTypeInt); in getOrCreateBaseRegister()
414 CurMF->getRegInfo().setRegClass(SpvVecConst, &SPIRV::IDRegClass); in getOrCreateCompositeOrNull()
420 MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpConstantComposite)) in getOrCreateCompositeOrNull()
426 MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpConstantNull)) in getOrCreateCompositeOrNull()
516 CurMF->getRegInfo().setRegClass(SpvVecConst, &SPIRV::IDRegClass); in getOrCreateIntCompositeOrNull()
523 auto MIB = MIRBuilder.buildInstr(SPIRV::OpConstantComposite) in getOrCreateIntCompositeOrNull()
529 MIRBuilder.buildInstr(SPIRV::OpConstantNull) in getOrCreateIntCompositeOrNull()
568 CurMF->getRegInfo().setRegClass(Res, &SPIRV::IDRegClass); in getOrCreateConstNullPtr()
570 MIRBuilder.buildInstr(SPIRV::OpConstantNull) in getOrCreateConstNullPtr()
591 : MIRBuilder.getMRI()->createVirtualRegister(&SPIRV::IDRegClass); in buildConstantSampler()
592 auto Res = MIRBuilder.buildInstr(SPIRV::OpConstantSampler) in buildConstantSampler()
604 const GlobalValue *GV, SPIRV::StorageClass::StorageClass Storage, in buildGlobalVariable()
606 SPIRV::LinkageType::LinkageType LinkageType, MachineIRBuilder &MIRBuilder, in buildGlobalVariable()
632 auto MIB = MIRBuilder.buildInstr(SPIRV::OpVariable) in buildGlobalVariable()
678 buildOpDecorate(Reg, MIRBuilder, SPIRV::Decoration::Constant, {}); in buildGlobalVariable()
682 buildOpDecorate(Reg, MIRBuilder, SPIRV::Decoration::Alignment, {Alignment}); in buildGlobalVariable()
686 buildOpDecorate(Reg, MIRBuilder, SPIRV::Decoration::LinkageAttributes, in buildGlobalVariable()
689 SPIRV::BuiltIn::BuiltIn BuiltInId; in buildGlobalVariable()
691 buildOpDecorate(Reg, MIRBuilder, SPIRV::Decoration::BuiltIn, in buildGlobalVariable()
708 assert((ElemType->getOpcode() != SPIRV::OpTypeVoid) && in getOpTypeArray()
712 auto MIB = MIRBuilder.buildInstr(SPIRV::OpTypeArray) in getOpTypeArray()
724 auto MIB = MIRBuilder.buildInstr(SPIRV::OpTypeOpaque).addDef(ResVReg); in getOpTypeOpaque()
736 assert(ElemTy && ElemTy->getOpcode() != SPIRV::OpTypeVoid && in getOpTypeStruct()
741 auto MIB = MIRBuilder.buildInstr(SPIRV::OpTypeStruct).addDef(ResVReg); in getOpTypeStruct()
747 buildOpDecorate(ResVReg, MIRBuilder, SPIRV::Decoration::CPacked, {}); in getOpTypeStruct()
753 SPIRV::AccessQualifier::AccessQualifier AccQual) { in getOrCreateSpecialType()
755 return SPIRV::lowerBuiltinType(Ty, AccQual, MIRBuilder, this); in getOrCreateSpecialType()
759 SPIRV::StorageClass::StorageClass SC, SPIRVType *ElemType, in getOpTypePointer()
763 return MIRBuilder.buildInstr(SPIRV::OpTypePointer) in getOpTypePointer()
770 SPIRV::StorageClass::StorageClass SC, MachineIRBuilder &MIRBuilder) { in getOpTypeForwardPointer()
771 return MIRBuilder.buildInstr(SPIRV::OpTypeForwardPointer) in getOpTypeForwardPointer()
779 auto MIB = MIRBuilder.buildInstr(SPIRV::OpTypeFunction) in getOpTypeFunction()
801 SPIRV::AccessQualifier::AccessQualifier AccQual, bool EmitIR) { in findSPIRVType()
813 if (SpirvType->getOpcode() == SPIRV::OpTypeForwardPointer) in getSPIRVTypeID()
841 SPIRV::AccessQualifier::AccessQualifier AccQual, bool EmitIR) { in createSPIRVType()
922 SPIRV::AccessQualifier::AccessQualifier AccessQual, bool EmitIR) { in restOfCreateSPIRVType()
933 if (SpirvType->getOpcode() != SPIRV::OpTypeForwardPointer && !Reg.isValid() && in restOfCreateSPIRVType()
964 SPIRV::AccessQualifier::AccessQualifier AccessQual, bool EmitIR) { in getOrCreateSPIRVType()
1010 if (Type->getOpcode() == SPIRV::OpTypeVector) { in isScalarOrVectorOfType()
1027 return Type->getOpcode() == SPIRV::OpTypeVector in getScalarOrVectorComponentCount()
1035 if (Type->getOpcode() == SPIRV::OpTypeVector) { in getScalarOrVectorBitWidth()
1039 if (Type->getOpcode() == SPIRV::OpTypeInt || in getScalarOrVectorBitWidth()
1040 Type->getOpcode() == SPIRV::OpTypeFloat) in getScalarOrVectorBitWidth()
1042 if (Type->getOpcode() == SPIRV::OpTypeBool) in getScalarOrVectorBitWidth()
1051 if (Type->getOpcode() == SPIRV::OpTypeVector) { in getNumScalarOrVectorTotalBitWidth()
1055 return Type->getOpcode() == SPIRV::OpTypeInt || in getNumScalarOrVectorTotalBitWidth()
1056 Type->getOpcode() == SPIRV::OpTypeFloat in getNumScalarOrVectorTotalBitWidth()
1063 if (Type && Type->getOpcode() == SPIRV::OpTypeVector) in retrieveScalarOrVectorIntType()
1065 return Type && Type->getOpcode() == SPIRV::OpTypeInt ? Type : nullptr; in retrieveScalarOrVectorIntType()
1074 return PtrType && PtrType->getOpcode() == SPIRV::OpTypePointer in getPointeeType()
1092 if (Op1 == SPIRV::OpTypePointer && in isBitcastCompatible()
1093 (Op2 == SPIRV::OpTypePointer || retrieveScalarOrVectorIntType(Type2))) in isBitcastCompatible()
1095 if (Op2 == SPIRV::OpTypePointer && in isBitcastCompatible()
1096 (Op1 == SPIRV::OpTypePointer || retrieveScalarOrVectorIntType(Type1))) in isBitcastCompatible()
1103 SPIRV::StorageClass::StorageClass
1106 assert(Type && Type->getOpcode() == SPIRV::OpTypePointer && in getPointerStorageClass()
1108 return static_cast<SPIRV::StorageClass::StorageClass>( in getPointerStorageClass()
1113 MachineIRBuilder &MIRBuilder, SPIRVType *SampledType, SPIRV::Dim::Dim Dim, in getOrCreateOpTypeImage()
1115 SPIRV::ImageFormat::ImageFormat ImageFormat, in getOrCreateOpTypeImage()
1116 SPIRV::AccessQualifier::AccessQualifier AccessQual) { in getOrCreateOpTypeImage()
1117 auto TD = SPIRV::make_descr_image(SPIRVToLLVMType.lookup(SampledType), Dim, in getOrCreateOpTypeImage()
1124 return MIRBuilder.buildInstr(SPIRV::OpTypeImage) in getOrCreateOpTypeImage()
1138 auto TD = SPIRV::make_descr_sampler(); in getOrCreateOpTypeSampler()
1143 return MIRBuilder.buildInstr(SPIRV::OpTypeSampler).addDef(ResVReg); in getOrCreateOpTypeSampler()
1148 SPIRV::AccessQualifier::AccessQualifier AccessQual) { in getOrCreateOpTypePipe()
1149 auto TD = SPIRV::make_descr_pipe(AccessQual); in getOrCreateOpTypePipe()
1154 return MIRBuilder.buildInstr(SPIRV::OpTypePipe) in getOrCreateOpTypePipe()
1161 auto TD = SPIRV::make_descr_event(); in getOrCreateOpTypeDeviceEvent()
1166 return MIRBuilder.buildInstr(SPIRV::OpTypeDeviceEvent).addDef(ResVReg); in getOrCreateOpTypeDeviceEvent()
1171 auto TD = SPIRV::make_descr_sampled_image( in getOrCreateOpTypeSampledImage()
1179 return MIRBuilder.buildInstr(SPIRV::OpTypeSampledImage) in getOrCreateOpTypeSampledImage()
1193 MIRBuilder.buildInstr(SPIRV::OpTypeCooperativeMatrixKHR) in getOrCreateOpTypeCoopMatr()
1216 SPIRVGlobalRegistry::checkSpecialInstr(const SPIRV::SpecialTypeDescriptor &TD, in checkSpecialInstr()
1227 SPIRV::StorageClass::StorageClass SC, in getOrCreateSPIRVTypeByName()
1228 SPIRV::AccessQualifier::AccessQualifier AQ) { in getOrCreateSPIRVTypeByName()
1234 return getOrCreateSPIRVType(SPIRV::parseBuiltinTypeNameToTargetExtType( in getOrCreateSPIRVTypeByName()
1312 return getOrCreateSPIRVType(BitWidth, I, TII, SPIRV::OpTypeInt, LLVMTy); in getOrCreateSPIRVIntegerType()
1332 return getOrCreateSPIRVType(BitWidth, I, TII, SPIRV::OpTypeFloat, LLVMTy); in getOrCreateSPIRVFloatType()
1350 auto MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpTypeBool)) in getOrCreateSPIRVBoolType()
1373 auto MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpTypeVector)) in getOrCreateSPIRVVectorType()
1392 auto MIB = BuildMI(BB, I, I.getDebugLoc(), TII.get(SPIRV::OpTypeArray)) in getOrCreateSPIRVArrayType()
1402 SPIRV::StorageClass::StorageClass SC) { in getOrCreateSPIRVPointerType()
1414 MIRBuilder.getTII().get(SPIRV::OpTypePointer)) in getOrCreateSPIRVPointerType()
1424 SPIRV::StorageClass::StorageClass SC) { in getOrCreateSPIRVPointerType()
1442 CurMF->getRegInfo().setRegClass(Res, &SPIRV::IDRegClass); in getOrCreateUndef()
1447 MIB = BuildMI(*I.getParent(), I, I.getDebugLoc(), TII.get(SPIRV::OpUndef)) in getOrCreateUndef()