Lines Matching refs:spirv
30 template <typename SourceOp, spirv::BuiltIn builtin>
42 template <typename SourceOp, spirv::BuiltIn builtin>
129 template <typename SourceOp, spirv::BuiltIn builtin>
138 spirv::getBuiltinVariableValue(op, builtin, indexType, rewriter); in matchAndRewrite()
139 rewriter.replaceOpWithNewOp<spirv::CompositeExtractOp>( in matchAndRewrite()
145 template <typename SourceOp, spirv::BuiltIn builtin>
154 spirv::getBuiltinVariableValue(op, builtin, indexType, rewriter); in matchAndRewrite()
162 auto workGroupSizeAttr = spirv::lookupLocalWorkGroupSize(op); in matchAndRewrite()
172 rewriter.replaceOpWithNewOp<spirv::ConstantOp>( in matchAndRewrite()
182 static spirv::FuncOp
185 spirv::EntryPointABIAttr entryPointInfo, in lowerAsEntryFunction()
186 ArrayRef<spirv::InterfaceVarABIAttr> argABIInfo) { in lowerAsEntryFunction()
210 auto newFuncOp = rewriter.create<spirv::FuncOp>( in lowerAsEntryFunction()
229 StringRef argABIAttrName = spirv::getInterfaceVarABIAttrName(); in lowerAsEntryFunction()
233 newFuncOp->setAttr(spirv::getEntryPointABIAttrName(), entryPointInfo); in lowerAsEntryFunction()
243 SmallVectorImpl<spirv::InterfaceVarABIAttr> &argABI) { in getDefaultABIAttrs()
244 spirv::TargetEnvAttr targetEnv = spirv::lookupTargetEnvOrDefault(funcOp); in getDefaultABIAttrs()
245 if (!spirv::needsInterfaceVarABIAttrs(targetEnv)) in getDefaultABIAttrs()
249 if (funcOp.getArgAttrOfType<spirv::InterfaceVarABIAttr>( in getDefaultABIAttrs()
250 argIndex, spirv::getInterfaceVarABIAttrName())) in getDefaultABIAttrs()
254 Optional<spirv::StorageClass> sc; in getDefaultABIAttrs()
256 sc = spirv::StorageClass::StorageBuffer; in getDefaultABIAttrs()
257 argABI.push_back(spirv::getInterfaceVarABIAttr(0, argIndex, sc, context)); in getDefaultABIAttrs()
268 SmallVector<spirv::InterfaceVarABIAttr, 4> argABI; in matchAndRewrite()
273 auto abiAttr = funcOp.getArgAttrOfType<spirv::InterfaceVarABIAttr>( in matchAndRewrite()
274 argIndex, spirv::getInterfaceVarABIAttrName()); in matchAndRewrite()
286 auto entryPointAttr = spirv::lookupEntryPointABI(funcOp); in matchAndRewrite()
291 spirv::FuncOp newFuncOp = lowerAsEntryFunction( in matchAndRewrite()
307 spirv::TargetEnvAttr targetEnv = spirv::lookupTargetEnvOrDefault(moduleOp); in matchAndRewrite()
308 spirv::AddressingModel addressingModel = spirv::getAddressingModel(targetEnv); in matchAndRewrite()
309 FailureOr<spirv::MemoryModel> memoryModel = spirv::getMemoryModel(targetEnv); in matchAndRewrite()
316 auto spvModule = rewriter.create<spirv::ModuleOp>( in matchAndRewrite()
340 rewriter.replaceOpWithNewOp<spirv::ReturnOp>(returnOp); in matchAndRewrite()
353 auto scope = spirv::ScopeAttr::get(context, spirv::Scope::Workgroup); in matchAndRewrite()
355 auto memorySemantics = spirv::MemorySemanticsAttr::get( in matchAndRewrite()
356 context, spirv::MemorySemantics::WorkgroupMemory | in matchAndRewrite()
357 spirv::MemorySemantics::AcquireRelease); in matchAndRewrite()
358 rewriter.replaceOpWithNewOp<spirv::ControlBarrierOp>(barrierOp, scope, scope, in matchAndRewrite()
372 LaunchConfigConversion<gpu::BlockIdOp, spirv::BuiltIn::WorkgroupId>, in populateGPUToSPIRVPatterns()
373 LaunchConfigConversion<gpu::GridDimOp, spirv::BuiltIn::NumWorkgroups>, in populateGPUToSPIRVPatterns()
374 LaunchConfigConversion<gpu::BlockDimOp, spirv::BuiltIn::WorkgroupSize>, in populateGPUToSPIRVPatterns()
376 spirv::BuiltIn::LocalInvocationId>, in populateGPUToSPIRVPatterns()
378 spirv::BuiltIn::GlobalInvocationId>, in populateGPUToSPIRVPatterns()
380 spirv::BuiltIn::SubgroupId>, in populateGPUToSPIRVPatterns()
382 spirv::BuiltIn::NumSubgroups>, in populateGPUToSPIRVPatterns()
384 spirv::BuiltIn::SubgroupSize>, in populateGPUToSPIRVPatterns()