Lines Matching refs:spirv
17 using namespace mlir::spirv;
24 namespace spirv { namespace
32 namespace spirv { namespace
120 spirv::InterfaceVarABIAttr
121 spirv::InterfaceVarABIAttr::get(uint32_t descriptorSet, uint32_t binding, in get()
122 Optional<spirv::StorageClass> storageClass, in get()
133 spirv::InterfaceVarABIAttr
134 spirv::InterfaceVarABIAttr::get(IntegerAttr descriptorSet, IntegerAttr binding, in get()
141 StringRef spirv::InterfaceVarABIAttr::getKindName() { in getKindName()
145 uint32_t spirv::InterfaceVarABIAttr::getBinding() { in getBinding()
149 uint32_t spirv::InterfaceVarABIAttr::getDescriptorSet() { in getDescriptorSet()
153 Optional<spirv::StorageClass> spirv::InterfaceVarABIAttr::getStorageClass() { in getStorageClass()
155 return static_cast<spirv::StorageClass>( in getStorageClass()
160 LogicalResult spirv::InterfaceVarABIAttr::verify( in verify()
172 spirv::symbolizeStorageClass(storageClassAttr.getInt()); in verify()
187 spirv::VerCapExtAttr spirv::VerCapExtAttr::get( in get()
188 spirv::Version version, ArrayRef<spirv::Capability> capabilities, in get()
189 ArrayRef<spirv::Extension> extensions, MLIRContext *context) { in get()
196 for (spirv::Capability cap : capabilities) in get()
201 for (spirv::Extension ext : extensions) in get()
202 extAttrs.push_back(b.getStringAttr(spirv::stringifyExtension(ext))); in get()
207 spirv::VerCapExtAttr spirv::VerCapExtAttr::get(IntegerAttr version, in get()
215 StringRef spirv::VerCapExtAttr::getKindName() { return "vce"; } in getKindName()
217 spirv::Version spirv::VerCapExtAttr::getVersion() { in getVersion()
218 return static_cast<spirv::Version>( in getVersion()
222 spirv::VerCapExtAttr::ext_iterator::ext_iterator(ArrayAttr::iterator it) in ext_iterator()
224 spirv::Extension (*)(Attribute)>( in ext_iterator()
229 spirv::VerCapExtAttr::ext_range spirv::VerCapExtAttr::getExtensions() { in getExtensions()
234 ArrayAttr spirv::VerCapExtAttr::getExtensionsAttr() { in getExtensionsAttr()
238 spirv::VerCapExtAttr::cap_iterator::cap_iterator(ArrayAttr::iterator it) in cap_iterator()
240 spirv::Capability (*)(Attribute)>( in cap_iterator()
246 spirv::VerCapExtAttr::cap_range spirv::VerCapExtAttr::getCapabilities() { in getCapabilities()
251 ArrayAttr spirv::VerCapExtAttr::getCapabilitiesAttr() { in getCapabilitiesAttr()
256 spirv::VerCapExtAttr::verify(function_ref<InFlightDiagnostic()> emitError, in verify()
264 if (spirv::symbolizeCapability(intAttr.getValue().getZExtValue())) in verify()
272 if (spirv::symbolizeExtension(strAttr.getValue())) in verify()
285 spirv::TargetEnvAttr spirv::TargetEnvAttr::get(spirv::VerCapExtAttr triple, in get()
295 StringRef spirv::TargetEnvAttr::getKindName() { return "target_env"; } in getKindName()
297 spirv::VerCapExtAttr spirv::TargetEnvAttr::getTripleAttr() const { in getTripleAttr()
298 return getImpl()->triple.cast<spirv::VerCapExtAttr>(); in getTripleAttr()
301 spirv::Version spirv::TargetEnvAttr::getVersion() const { in getVersion()
305 spirv::VerCapExtAttr::ext_range spirv::TargetEnvAttr::getExtensions() { in getExtensions()
309 ArrayAttr spirv::TargetEnvAttr::getExtensionsAttr() { in getExtensionsAttr()
313 spirv::VerCapExtAttr::cap_range spirv::TargetEnvAttr::getCapabilities() { in getCapabilities()
317 ArrayAttr spirv::TargetEnvAttr::getCapabilitiesAttr() { in getCapabilitiesAttr()
321 spirv::Vendor spirv::TargetEnvAttr::getVendorID() const { in getVendorID()
325 spirv::DeviceType spirv::TargetEnvAttr::getDeviceType() const { in getDeviceType()
329 uint32_t spirv::TargetEnvAttr::getDeviceID() const { in getDeviceID()
333 spirv::ResourceLimitsAttr spirv::TargetEnvAttr::getResourceLimits() const { in getResourceLimits()
334 return getImpl()->limits.cast<spirv::ResourceLimitsAttr>(); in getResourceLimits()
426 spirv::symbolizeStorageClass(storageClass)) { in parseInterfaceVarABIAttr()
439 return spirv::InterfaceVarABIAttr::get(descriptorSetAttr, bindingAttr, in parseInterfaceVarABIAttr()
456 if (auto versionSymbol = spirv::symbolizeVersion(version)) { in parseVerCapExtAttr()
472 if (auto capSymbol = spirv::symbolizeCapability(capability)) { in parseVerCapExtAttr()
495 if (spirv::symbolizeExtension(extension)) { in parseVerCapExtAttr()
513 return spirv::VerCapExtAttr::get(versionAttr, capabilitiesAttr, in parseVerCapExtAttr()
522 spirv::VerCapExtAttr tripleAttr; in parseTargetEnvAttr()
529 uint32_t deviceID = spirv::TargetEnvAttr::kUnknownDeviceID; in parseTargetEnvAttr()
534 if (auto vendorSymbol = spirv::symbolizeVendor(vendorStr)) { in parseTargetEnvAttr()
545 if (auto deviceTypeSymbol = spirv::symbolizeDeviceType(deviceTypeStr)) { in parseTargetEnvAttr()
566 return spirv::TargetEnvAttr::get(tripleAttr, vendorID, deviceType, deviceID, in parseTargetEnvAttr()
586 if (attrKind == spirv::TargetEnvAttr::getKindName()) in parseAttribute()
588 if (attrKind == spirv::VerCapExtAttr::getKindName()) in parseAttribute()
590 if (attrKind == spirv::InterfaceVarABIAttr::getKindName()) in parseAttribute()
602 static void print(spirv::VerCapExtAttr triple, DialectAsmPrinter &printer) { in print()
604 printer << spirv::VerCapExtAttr::getKindName() << "<" in print()
605 << spirv::stringifyVersion(triple.getVersion()) << ", ["; in print()
608 [&](spirv::Capability cap) { os << spirv::stringifyCapability(cap); }); in print()
616 static void print(spirv::TargetEnvAttr targetEnv, DialectAsmPrinter &printer) { in print()
617 printer << spirv::TargetEnvAttr::getKindName() << "<#spv."; in print()
619 spirv::Vendor vendorID = targetEnv.getVendorID(); in print()
620 spirv::DeviceType deviceType = targetEnv.getDeviceType(); in print()
622 if (vendorID != spirv::Vendor::Unknown) { in print()
623 printer << ", " << spirv::stringifyVendor(vendorID); in print()
624 if (deviceType != spirv::DeviceType::Unknown) { in print()
625 printer << ":" << spirv::stringifyDeviceType(deviceType); in print()
626 if (deviceID != spirv::TargetEnvAttr::kUnknownDeviceID) in print()
633 static void print(spirv::InterfaceVarABIAttr interfaceVarABIAttr, in print()
635 printer << spirv::InterfaceVarABIAttr::getKindName() << "<(" in print()
640 printer << ", " << spirv::stringifyStorageClass(*storageClass); in print()
663 void spirv::SPIRVDialect::registerAttributes() { in registerAttributes()