Lines Matching refs:SPIRV
51 return MIRBuilder.buildInstr(SPIRV::OpReturnValue) in lowerReturn()
56 MIRBuilder.buildInstr(SPIRV::OpReturn); in lowerReturn()
64 uint32_t FuncControl = static_cast<uint32_t>(SPIRV::FunctionControl::None); in getFunctionControl()
67 FuncControl |= static_cast<uint32_t>(SPIRV::FunctionControl::DontInline); in getFunctionControl()
69 FuncControl |= static_cast<uint32_t>(SPIRV::FunctionControl::Inline); in getFunctionControl()
72 FuncControl |= static_cast<uint32_t>(SPIRV::FunctionControl::Pure); in getFunctionControl()
74 FuncControl |= static_cast<uint32_t>(SPIRV::FunctionControl::Const); in getFunctionControl()
165 static SPIRV::AccessQualifier::AccessQualifier
168 return SPIRV::AccessQualifier::ReadWrite; in getArgAccessQual()
172 return SPIRV::AccessQualifier::ReadWrite; in getArgAccessQual()
175 return SPIRV::AccessQualifier::ReadOnly; in getArgAccessQual()
177 return SPIRV::AccessQualifier::WriteOnly; in getArgAccessQual()
178 return SPIRV::AccessQualifier::ReadWrite; in getArgAccessQual()
181 static std::vector<SPIRV::Decoration::Decoration>
185 return {SPIRV::Decoration::Volatile}; in getKernelArgTypeQual()
194 SPIRV::AccessQualifier::AccessQualifier ArgAccessQual = in getArgSPIRVType()
261 static SPIRV::ExecutionModel::ExecutionModel
264 return SPIRV::ExecutionModel::Kernel; in getExecutionModel()
274 return SPIRV::ExecutionModel::GLCompute; in getExecutionModel()
309 SPIRV::Decoration::MaxByteOffset, {DerefBytes}); in lowerFormalArguments()
314 buildOpDecorate(VRegs[i][0], MIRBuilder, SPIRV::Decoration::Alignment, in lowerFormalArguments()
319 static_cast<unsigned>(SPIRV::FunctionParameterAttribute::NoWrite); in lowerFormalArguments()
321 SPIRV::Decoration::FuncParamAttr, {Attr}); in lowerFormalArguments()
325 static_cast<unsigned>(SPIRV::FunctionParameterAttribute::Zext); in lowerFormalArguments()
327 SPIRV::Decoration::FuncParamAttr, {Attr}); in lowerFormalArguments()
331 static_cast<unsigned>(SPIRV::FunctionParameterAttribute::NoAlias); in lowerFormalArguments()
333 SPIRV::Decoration::FuncParamAttr, {Attr}); in lowerFormalArguments()
337 static_cast<unsigned>(SPIRV::FunctionParameterAttribute::ByVal); in lowerFormalArguments()
339 SPIRV::Decoration::FuncParamAttr, {Attr}); in lowerFormalArguments()
343 std::vector<SPIRV::Decoration::Decoration> ArgTypeQualDecs = in lowerFormalArguments()
345 for (SPIRV::Decoration::Decoration Decoration : ArgTypeQualDecs) in lowerFormalArguments()
359 static_cast<SPIRV::Decoration::Decoration>(Const->getZExtValue()); in lowerFormalArguments()
375 MRI->setRegClass(FuncVReg, &SPIRV::IDRegClass); in lowerFormalArguments()
395 MachineInstrBuilder MB = MIRBuilder.buildInstr(SPIRV::OpFunction) in lowerFormalArguments()
406 MRI->setRegClass(VRegs[i][0], &SPIRV::IDRegClass); in lowerFormalArguments()
407 MIRBuilder.buildInstr(SPIRV::OpFunctionParameter) in lowerFormalArguments()
422 auto MIB = MIRBuilder.buildInstr(SPIRV::OpEntryPoint) in lowerFormalArguments()
428 SPIRV::LinkageType::LinkageType LnkTy = in lowerFormalArguments()
430 ? SPIRV::LinkageType::Import in lowerFormalArguments()
433 SPIRV::Extension::SPV_KHR_linkonce_odr) in lowerFormalArguments()
434 ? SPIRV::LinkageType::LinkOnceODR in lowerFormalArguments()
435 : SPIRV::LinkageType::Export); in lowerFormalArguments()
436 buildOpDecorate(FuncVReg, MIRBuilder, SPIRV::Decoration::LinkageAttributes, in lowerFormalArguments()
442 ST->canUseExtension(SPIRV::Extension::SPV_INTEL_function_pointers); in lowerFormalArguments()
449 SPIRV::Decoration::ReferencedIndirectlyINTEL, {}); in lowerFormalArguments()
482 SpirvFuncTy, MIRBuilder, SPIRV::StorageClass::Function); in produceIndirectPtrTypes()
525 bool canUseOpenCL = ST->canUseExtInstSet(SPIRV::InstructionSet::OpenCL_std); in lowerCall()
526 bool canUseGLSL = ST->canUseExtInstSet(SPIRV::InstructionSet::GLSL_std_450); in lowerCall()
540 auto instructionSet = canUseOpenCL ? SPIRV::InstructionSet::OpenCL_std in lowerCall()
541 : SPIRV::InstructionSet::GLSL_std_450; in lowerCall()
543 SPIRV::lowerBuiltin(DemangledName, instructionSet, MIRBuilder, in lowerCall()
561 MRI->setRegClass(Reg, &SPIRV::IDRegClass); in lowerCall()
572 if (!ST->canUseExtension(SPIRV::Extension::SPV_INTEL_function_pointers)) in lowerCall()
577 CallOp = SPIRV::OpFunctionPointerCallINTEL; in lowerCall()
594 CallOp = SPIRV::OpFunctionCall; in lowerCall()
599 ResVReg = MIRBuilder.getMRI()->createVirtualRegister(&SPIRV::IDRegClass); in lowerCall()