MLIR 22.0.0git
mlir::spirv Namespace Reference

Namespaces

namespace  AttrNames
namespace  detail
namespace  impl

Classes

class  ArrayType
struct  BlockMergeInfo
 A struct for containing a header block's merge and continue targets. More...
class  CompositeType
class  CooperativeMatrixType
struct  DebugLine
 A struct for containing OpLine instruction information. More...
struct  DeferredStructTypeInfo
 A "deferred struct type" is a struct type with one or more member types not known when the Deserializer first encounters the struct. More...
struct  DeserializationOptions
class  Deserializer
 A SPIR-V module serializer. More...
struct  ElementwiseOpPattern
 Converts elementwise unary, binary and ternary standard operations to SPIR-V operations. More...
struct  GraphConstantARMOpMaterializationInfo
 A struct that collects the info needed to materialize/emit a GraphConstantARMOp. More...
class  ImageType
class  InterfaceVarABIAttr
 An attribute that specifies the information regarding the interface variable: descriptor set, binding, storage class. More...
class  MatrixType
class  MemorySpaceToStorageClassConverter
 Type converter for converting numeric MemRef memory spaces into SPIR-V symbolic ones. More...
class  PointerType
class  RuntimeArrayType
class  SampledImageType
class  ScalarType
struct  SerializationOptions
class  Serializer
 A SPIR-V module serializer. More...
struct  SpecConstOperationMaterializationInfo
 A struct that collects the info needed to materialize/emit a SpecConstantOperation op. More...
class  SPIRVType
class  StructType
 SPIR-V struct type. More...
class  TargetEnv
 A wrapper class around a spirv::TargetEnvAttr to provide query methods for allowed version/capabilities/extensions. More...
class  TargetEnvAttr
 An attribute that specifies the target version, allowed extensions and capabilities, and resource limits. More...
class  TensorArmType
 SPIR-V TensorARM Type. More...
class  VerCapExtAttr
 An attribute that specifies the SPIR-V (version, capabilities, extensions) triple. More...

Typedefs

using MemorySpaceToStorageClassMap
 Mapping from numeric MemRef memory spaces into SPIR-V symbolic ones.
using SymbolRenameListener
 The listener function to receive symbol renaming events.
using GetTargetEnvFn = std::function<spirv::TargetEnvAttr(spirv::ModuleOp)>
 Creates an operation pass that unifies access of multiple aliased resources into access of one single resource.
using BlockMergeInfoMap = llvm::MapVector<Block *, BlockMergeInfo>
 Map from a selection/loop's header block to its merge (and continue) target.

Functions

std::optional< spirv::StorageClass > mapMemorySpaceToVulkanStorageClass (Attribute)
 Maps MemRef memory spaces to storage classes for Vulkan-flavored SPIR-V using the default rule.
std::optional< unsignedmapVulkanStorageClassToMemorySpace (spirv::StorageClass)
 Maps storage classes for Vulkan-flavored SPIR-V to MemRef memory spaces using the default rule.
std::optional< spirv::StorageClass > mapMemorySpaceToOpenCLStorageClass (Attribute)
 Maps MemRef memory spaces to storage classes for OpenCL-flavored SPIR-V using the default rule.
std::optional< unsignedmapOpenCLStorageClassToMemorySpace (spirv::StorageClass)
 Maps storage classes for OpenCL-flavored SPIR-V to MemRef memory spaces using the default rule.
std::unique_ptr< ConversionTargetgetMemorySpaceToStorageClassTarget (MLIRContext &)
 Creates the target that populates legality of ops with MemRef types.
void convertMemRefTypesAndAttrs (Operation *op, MemorySpaceToStorageClassConverter &typeConverter)
 Converts all MemRef types and attributes in the op, as decided by the typeConverter.
template<typename EnumClass>
constexpr StringRef attributeName ()
template<>
StringRef attributeName< Version > ()
template<>
StringRef attributeName< DeviceType > ()
template<>
StringRef attributeName< Vendor > ()
template<>
StringRef attributeName< ClientAPI > ()
template<>
StringRef attributeName< Extension > ()
template<>
StringRef attributeName< Capability > ()
template<>
StringRef attributeName< AddressingModel > ()
template<>
StringRef attributeName< BuiltIn > ()
template<>
StringRef attributeName< Decoration > ()
template<>
StringRef attributeName< Dim > ()
template<>
StringRef attributeName< ExecutionMode > ()
template<>
StringRef attributeName< ExecutionModel > ()
template<>
StringRef attributeName< FPEncoding > ()
template<>
StringRef attributeName< FPRoundingMode > ()
template<>
StringRef attributeName< FunctionControl > ()
template<>
StringRef attributeName< GroupOperation > ()
template<>
StringRef attributeName< ImageFormat > ()
template<>
StringRef attributeName< ImageOperands > ()
template<>
StringRef attributeName< LinkageType > ()
template<>
StringRef attributeName< LoopControl > ()
template<>
StringRef attributeName< MemoryAccess > ()
template<>
StringRef attributeName< MemoryModel > ()
template<>
StringRef attributeName< MemorySemantics > ()
template<>
StringRef attributeName< Scope > ()
template<>
StringRef attributeName< SelectionControl > ()
template<>
StringRef attributeName< StorageClass > ()
template<>
StringRef attributeName< PackedVectorFormat > ()
template<>
StringRef attributeName< ImageDepthInfo > ()
template<>
StringRef attributeName< ImageArrayedInfo > ()
template<>
StringRef attributeName< ImageSamplingInfo > ()
template<>
StringRef attributeName< ImageSamplerUseInfo > ()
template<>
StringRef attributeName< MatrixLayout > ()
template<>
StringRef attributeName< CooperativeMatrixUseKHR > ()
template<>
StringRef attributeName< CooperativeMatrixLayoutKHR > ()
template<>
StringRef attributeName< CooperativeMatrixOperandsKHR > ()
template<>
StringRef attributeName< LoadCacheControl > ()
template<>
StringRef attributeName< StoreCacheControl > ()
template<>
StringRef attributeName< Opcode > ()
template<>
StringRef attributeName< FPFastMathMode > ()
ArrayRef< Extension > getImpliedExtensions (Version version)
 Returns the implied extensions for the given version.
ArrayRef< Capability > getDirectImpliedCapabilities (Capability cap)
 Returns the directly implied capabilities for the given capability.
SmallVector< Capability, 0 > getRecursiveImpliedCapabilities (Capability cap)
 Returns the recursively implied capabilities for the given capability.
void populateSPIRVGLCanonicalizationPatterns (RewritePatternSet &results)
 Populates patterns to run canoncalization that involves GL ops.
llvm::hash_code hash_value (const StructType::MemberDecorationInfo &memberDecorationInfo)
llvm::hash_code hash_value (const StructType::StructDecorationInfo &structDecorationInfo)
StringRef getInterfaceVarABIAttrName ()
 Returns the attribute name for specifying argument ABI information.
InterfaceVarABIAttr getInterfaceVarABIAttr (unsigned descriptorSet, unsigned binding, std::optional< StorageClass > storageClass, MLIRContext *context)
 Gets the InterfaceVarABIAttr given its fields.
bool needsInterfaceVarABIAttrs (TargetEnvAttr targetAttr)
 Returns whether the given SPIR-V target (described by TargetEnvAttr) needs ABI attributes for interface variables (spirv.interface_var_abi).
StringRef getEntryPointABIAttrName ()
 Returns the attribute name for specifying entry point information.
EntryPointABIAttr getEntryPointABIAttr (MLIRContext *context, ArrayRef< int32_t > workgroupSize={}, std::optional< int > subgroupSize={}, std::optional< int > targetWidth={})
 Gets the EntryPointABIAttr given its fields.
EntryPointABIAttr lookupEntryPointABI (Operation *op)
 Queries the entry point ABI on the nearest function-like op containing the given op.
DenseI32ArrayAttr lookupLocalWorkGroupSize (Operation *op)
 Queries the local workgroup size from entry point ABI on the nearest function-like op containing the given op.
ResourceLimitsAttr getDefaultResourceLimits (MLIRContext *context)
 Returns a default resource limits attribute that uses numbers from "Table 46. Required Limits" of the Vulkan spec.
StringRef getTargetEnvAttrName ()
 Returns the attribute name for specifying SPIR-V target environment.
TargetEnvAttr getDefaultTargetEnv (MLIRContext *context)
 Returns the default target environment: SPIR-V 1.0 with Shader capability and no extra extensions.
TargetEnvAttr lookupTargetEnv (Operation *op)
 Queries the target environment recursively from enclosing symbol table ops containing the given op.
TargetEnvAttr lookupTargetEnvOrDefault (Operation *op)
 Queries the target environment recursively from enclosing symbol table ops containing the given op or returns the default target environment as returned by getDefaultTargetEnv() if not provided.
AddressingModel getAddressingModel (TargetEnvAttr targetAttr, bool use64bitAddress)
 Returns addressing model selected based on target environment.
FailureOr< ExecutionModel > getExecutionModel (TargetEnvAttr targetAttr)
 Returns execution model selected based on target environment.
FailureOr< MemoryModel > getMemoryModel (TargetEnvAttr targetAttr)
 Returns memory model selected based on target environment.
OwningOpRef< spirv::ModuleOp > combine (ArrayRef< spirv::ModuleOp > inputModules, OpBuilder &combinedModuleBuilder, SymbolRenameListener symRenameListener)
 Combines a list of SPIR-V inputModules into one.
std::unique_ptr<::mlir::PasscreateSPIRVCanonicalizeGLPass ()
std::unique_ptr<::mlir::PasscreateSPIRVCompositeTypeLayoutPass ()
std::unique_ptr<::mlir::PasscreateSPIRVLowerABIAttributesPass ()
std::unique_ptr<::mlir::PasscreateSPIRVReplicatedConstantCompositePass ()
std::unique_ptr<::mlir::PasscreateSPIRVRewriteInsertsPass ()
std::unique_ptr<::mlir::PasscreateSPIRVUpdateVCEPass ()
std::unique_ptr<::mlir::PasscreateSPIRVWebGPUPreparePass ()
std::unique_ptr< OperationPass< spirv::ModuleOp > > createUnifyAliasedResourcePass (GetTargetEnvFn getTargetEnv=nullptr)
void registerSPIRVCanonicalizeGLPass ()
void registerSPIRVCanonicalizeGLPassPass ()
void registerSPIRVCompositeTypeLayoutPass ()
void registerSPIRVCompositeTypeLayoutPassPass ()
void registerSPIRVLowerABIAttributesPass ()
void registerSPIRVLowerABIAttributesPassPass ()
void registerSPIRVReplicatedConstantCompositePass ()
void registerSPIRVReplicatedConstantCompositePassPass ()
void registerSPIRVRewriteInsertsPass ()
void registerSPIRVRewriteInsertsPassPass ()
void registerSPIRVUnifyAliasedResourcePass ()
void registerSPIRVUnifyAliasedResourcePassPass ()
void registerSPIRVUpdateVCEPass ()
void registerSPIRVUpdateVCEPassPass ()
void registerSPIRVWebGPUPreparePass ()
void registerSPIRVWebGPUPreparePassPass ()
void registerSPIRVPasses ()
Value getBuiltinVariableValue (Operation *op, BuiltIn builtin, Type integerType, OpBuilder &builder, StringRef prefix="__builtin__", StringRef suffix="__")
 Returns the value for the given builtin variable.
Value getPushConstantValue (Operation *op, unsigned elementCount, unsigned offset, Type integerType, OpBuilder &builder)
 Gets the value at the given offset of the push constant storage with a total of elementCount integerType integers.
Value linearizeIndex (ValueRange indices, ArrayRef< int64_t > strides, int64_t offset, Type integerType, Location loc, OpBuilder &builder)
 Generates IR to perform index linearization with the given indices and their corresponding strides, adding an initial offset.
Value getElementPtr (const SPIRVTypeConverter &typeConverter, MemRefType baseType, Value basePtr, ValueRange indices, Location loc, OpBuilder &builder)
 Performs the index computation to get to the element at indices of the memory pointed to by basePtr, using the layout map of baseType.
Value getOpenCLElementPtr (const SPIRVTypeConverter &typeConverter, MemRefType baseType, Value basePtr, ValueRange indices, Location loc, OpBuilder &builder)
Value getVulkanElementPtr (const SPIRVTypeConverter &typeConverter, MemRefType baseType, Value basePtr, ValueRange indices, Location loc, OpBuilder &builder)
int getComputeVectorSize (int64_t size)
SmallVector< int64_tgetNativeVectorShapeImpl (vector::ReductionOp op)
SmallVector< int64_tgetNativeVectorShapeImpl (vector::TransposeOp op)
std::optional< SmallVector< int64_t > > getNativeVectorShape (Operation *op)
LogicalResult unrollVectorsInSignatures (Operation *op)
LogicalResult unrollVectorsInFuncBodies (Operation *op)
void populateSPIRVExpandExtendedMultiplicationPatterns (RewritePatternSet &patterns)
 Appends patterns to expand extended multiplication and adition ops into regular arithmetic ops.
void populateSPIRVExpandNonFiniteArithmeticPatterns (RewritePatternSet &patterns)
 Appends patterns to expand non-finite arithmetic ops IsNan and IsInf.
OwningOpRef< spirv::ModuleOp > deserialize (ArrayRef< uint32_t > binary, MLIRContext *context, const DeserializationOptions &options={})
 Deserializes the given SPIR-V binary module and creates a MLIR ModuleOp in the given context.
LogicalResult serialize (ModuleOp moduleOp, SmallVectorImpl< uint32_t > &binary, const SerializationOptions &options={})
 Serializes the given SPIR-V moduleOp and writes to binary.
void appendModuleHeader (SmallVectorImpl< uint32_t > &header, spirv::Version version, uint32_t idBound)
 Appends a SPRI-V module header to header with the given version and idBound.
uint32_t getPrefixedOpcode (uint32_t wordCount, spirv::Opcode opcode)
 Returns the word-count-prefixed opcode for an SPIR-V instruction.
void encodeStringLiteralInto (SmallVectorImpl< uint32_t > &binary, StringRef literal)
 Encodes an SPIR-V literal string into the given binary vector.
StringRef decodeStringLiteral (ArrayRef< uint32_t > words, unsigned &wordIndex)
 Decodes a string literal in words starting at wordIndex.
void registerSPIRVTargetInterfaceExternalModels (DialectRegistry &registry)
 Registers the TargetAttrInterface for the #spirv.target_env attribute in the given registry.
void registerSPIRVTargetInterfaceExternalModels (MLIRContext &context)
 Registers the TargetAttrInterface for the #spirv.target_env attribute in the registry associated with the given context.
std::string getDecorationString (spirv::Decoration decor)
 Converts a SPIR-V Decoration enum value to its snake_case string representation for use in MLIR attributes.
template<typename T>
static StringRef stringifyTypeName ()
template<>
StringRef stringifyTypeName< IntegerType > ()
template<>
StringRef stringifyTypeName< FloatType > ()
template<typename AtomicOpTy, typename ExpectedElementType>
static LogicalResult verifyAtomicUpdateOp (Operation *op)
static LogicalResult verifyCastOp (Operation *op, bool requireSameBitWidth=true, bool skipBitWidthCheck=false)
template<typename EnumAttrClass, typename EnumClass>
static ParseResult parseControlAttribute (OpAsmParser &parser, OperationState &state, StringRef attrName=spirv::attributeName< EnumClass >())
 Parses Function, Selection and Loop control attributes.
static bool hasOneBranchOpTo (Block &srcBlock, Block &dstBlock)
 Returns true if the given srcBlock contains only one spirv.Branch to the given dstBlock.
static bool isMergeBlock (Block &block)
 Returns true if the given block only contains one spirv.mlir.merge op.
static bool hasOtherMerge (Region &region)
 Returns true if a spirv.mlir.merge op outside the merge block.
static LogicalResult verifyCoopMatrixAccess (Operation *op, Type pointer, Type coopMatrix, spirv::MemoryAccessAttr memoryOperand, IntegerAttr alignment)
static std::optional< spirv::Version > getDotProductMinVersion ()
static std::optional< spirv::Version > getDotProductMaxVersion ()
template<typename IntegerDotProductOpTy>
static LogicalResult verifyIntegerDotProduct (Operation *op)
static SmallVector< ArrayRef< spirv::Extension >, 1 > getIntegerDotProductExtensions ()
template<typename IntegerDotProductOpTy>
static SmallVector< ArrayRef< spirv::Capability >, 1 > getIntegerDotProductCapabilities (Operation *op)
template<typename OpTy>
static LogicalResult verifyGroupNonUniformArithmeticOp (Operation *groupOp)
template<typename OpTy>
static LogicalResult verifyGroupNonUniformShuffleOp (OpTy op)
template<typename Op>
static LogicalResult verifyGroupOp (Op op)
template<typename MemoryOpTy>
ParseResult parseMemoryAccessAttributes (OpAsmParser &parser, OperationState &state)
 Parses optional memory access (a.k.a.
template<typename MemoryOpTy>
static ParseResult parseSourceMemoryAccessAttributes (OpAsmParser &parser, OperationState &state)
template<typename MemoryOpTy>
static void printSourceMemoryAccessAttribute (MemoryOpTy memoryOp, OpAsmPrinter &printer, SmallVectorImpl< StringRef > &elidedAttrs, std::optional< spirv::MemoryAccess > memoryAccessAtrrValue=std::nullopt, std::optional< uint32_t > alignmentAttrValue=std::nullopt)
template<typename MemoryOpTy>
static void printMemoryAccessAttribute (MemoryOpTy memoryOp, OpAsmPrinter &printer, SmallVectorImpl< StringRef > &elidedAttrs, std::optional< spirv::MemoryAccess > memoryAccessAtrrValue=std::nullopt, std::optional< uint32_t > alignmentAttrValue=std::nullopt)
template<typename LoadStoreOpTy>
static LogicalResult verifyLoadStorePtrAndValTypes (LoadStoreOpTy op, Value ptr, Value val)
template<typename MemoryOpTy>
static LogicalResult verifyMemoryAccessAttribute (MemoryOpTy memoryOp)
template<typename MemoryOpTy>
static LogicalResult verifySourceMemoryAccessAttribute (MemoryOpTy memoryOp)
static Type getElementPtrType (Type type, ValueRange indices, Location baseLoc)
template<typename Op>
static void printAccessChain (Op op, ValueRange indices, OpAsmPrinter &printer)
template<typename Op>
static LogicalResult verifyAccessChain (Op accessChainOp, ValueRange indices)
template<>
StringRef attributeName< Version > ()
template<>
StringRef attributeName< DeviceType > ()
template<>
StringRef attributeName< Vendor > ()
template<>
StringRef attributeName< ClientAPI > ()
template<>
StringRef attributeName< Extension > ()
template<>
StringRef attributeName< Capability > ()
template<>
StringRef attributeName< AddressingModel > ()
template<>
StringRef attributeName< BuiltIn > ()
template<>
StringRef attributeName< Decoration > ()
template<>
StringRef attributeName< Dim > ()
template<>
StringRef attributeName< ExecutionMode > ()
template<>
StringRef attributeName< ExecutionModel > ()
template<>
StringRef attributeName< FPEncoding > ()
template<>
StringRef attributeName< FPRoundingMode > ()
template<>
StringRef attributeName< FunctionControl > ()
template<>
StringRef attributeName< GroupOperation > ()
template<>
StringRef attributeName< ImageFormat > ()
template<>
StringRef attributeName< ImageOperands > ()
template<>
StringRef attributeName< LinkageType > ()
template<>
StringRef attributeName< LoopControl > ()
template<>
StringRef attributeName< MemoryAccess > ()
template<>
StringRef attributeName< MemoryModel > ()
template<>
StringRef attributeName< MemorySemantics > ()
template<>
StringRef attributeName< Scope > ()
template<>
StringRef attributeName< SelectionControl > ()
template<>
StringRef attributeName< StorageClass > ()
template<>
StringRef attributeName< PackedVectorFormat > ()
template<>
StringRef attributeName< ImageDepthInfo > ()
template<>
StringRef attributeName< ImageArrayedInfo > ()
template<>
StringRef attributeName< ImageSamplingInfo > ()
template<>
StringRef attributeName< ImageSamplerUseInfo > ()
template<>
StringRef attributeName< MatrixLayout > ()
template<>
StringRef attributeName< CooperativeMatrixUseKHR > ()
template<>
StringRef attributeName< CooperativeMatrixLayoutKHR > ()
template<>
StringRef attributeName< CooperativeMatrixOperandsKHR > ()
template<>
StringRef attributeName< LoadCacheControl > ()
template<>
StringRef attributeName< StoreCacheControl > ()
template<>
StringRef attributeName< Opcode > ()
template<>
StringRef attributeName< FPFastMathMode > ()
static bool isNestedInFunctionOpInterface (Operation *op)
 Returns true if the given op is a function-like op or nested in a function-like op without a module-like op in the middle.
static bool isNestedInGraphARMOpInterface (Operation *op)
 Returns true if the given op is a GraphARM op or nested in a GraphARM op without a module-like op in the middle.
static bool isDirectInModuleLikeOp (Operation *op)
 Returns true if the given op is an module-like op that maintains a symbol table.
static Type getUnaryOpResultType (Type operandType)
 Result of a logical op must be a scalar or vector of boolean type.
static ParseResult parseImageOperands (OpAsmParser &parser, spirv::ImageOperandsAttr &attr)
static void printImageOperands (OpAsmPrinter &printer, Operation *imageOp, spirv::ImageOperandsAttr attr)
static ParseResult parseSwitchOpCases (OpAsmParser &parser, Type &selectorType, Block *&defaultTarget, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &defaultOperands, SmallVectorImpl< Type > &defaultOperandTypes, DenseIntElementsAttr &literals, SmallVectorImpl< Block * > &targets, SmallVectorImpl< SmallVector< OpAsmParser::UnresolvedOperand > > &targetOperands, SmallVectorImpl< SmallVector< Type > > &targetOperandTypes)
 Adapted from the cf.switch implementation.
static void printSwitchOpCases (OpAsmPrinter &p, SwitchOp op, Type selectorType, Block *defaultTarget, OperandRange defaultOperands, TypeRange defaultOperandTypes, DenseIntElementsAttr literals, SuccessorRange targets, OperandRangeRange targetOperands, const TypeRangeRange &targetOperandTypes)
unsigned getBitWidth (Type type)
 Returns the bit width of the type.
void printVariableDecorations (Operation *op, OpAsmPrinter &printer, SmallVectorImpl< StringRef > &elidedAttrs)
LogicalResult extractValueFromConstOp (Operation *op, int32_t &value)
LogicalResult verifyMemorySemantics (Operation *op, spirv::MemorySemantics memorySemantics)
ParseResult parseVariableDecorations (OpAsmParser &parser, OperationState &state)
template<typename Ty>
ArrayAttr getStrArrayAttrForEnumList (Builder &builder, ArrayRef< Ty > enumValues, function_ref< StringRef(Ty)> stringifyFn)
template<typename EnumClass, typename ParserType>
ParseResult parseEnumKeywordAttr (EnumClass &value, ParserType &parser, StringRef attrName=spirv::attributeName< EnumClass >())
 Parses the next keyword in parser as an enumerant of the given EnumClass.
template<typename EnumClass>
ParseResult parseEnumStrAttr (EnumClass &value, OpAsmParser &parser, StringRef attrName=spirv::attributeName< EnumClass >())
 Parses the next string attribute in parser as an enumerant of the given EnumClass.
template<typename EnumAttrClass, typename EnumClass = typename EnumAttrClass::ValueType>
ParseResult parseEnumStrAttr (EnumClass &value, OpAsmParser &parser, OperationState &state, StringRef attrName=spirv::attributeName< EnumClass >())
 Parses the next string attribute in parser as an enumerant of the given EnumClass and inserts the enumerant into state as an 32-bit integer attribute with the enum class's name as attribute name.
template<typename EnumAttrClass, typename EnumClass = typename EnumAttrClass::ValueType>
ParseResult parseEnumKeywordAttr (EnumClass &value, OpAsmParser &parser, OperationState &state, StringRef attrName=spirv::attributeName< EnumClass >())
 Parses the next keyword in parser as an enumerant of the given EnumClass and inserts the enumerant into state as an 32-bit integer attribute with the enum class's name as attribute name.
OwningOpRef< spirv::ModuleOp > combine (ArrayRef< spirv::ModuleOp > inputModules, OpBuilder &combinedModuleBuilder, SymbolRenameListener symRenameListener)
template<>
LogicalResult Deserializer::processOp< spirv::EntryPointOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp< spirv::ExecutionModeOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp< spirv::FunctionCallOp > (ArrayRef< uint32_t > operands)
template<>
LogicalResult Deserializer::processOp< spirv::CopyMemoryOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp< spirv::GenericCastToPtrExplicitOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::AccessChainOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::AtomicAndOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::AtomicCompareExchangeOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::AtomicCompareExchangeWeakOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::AtomicExchangeOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::AtomicIAddOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::AtomicIDecrementOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::AtomicIIncrementOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::AtomicISubOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::AtomicOrOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::AtomicSMaxOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::AtomicSMinOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::AtomicUMaxOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::AtomicUMinOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::AtomicXorOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::BitCountOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::BitFieldInsertOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::BitFieldSExtractOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::BitFieldUExtractOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::BitReverseOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::BitcastOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::BitwiseAndOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::BitwiseOrOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::BitwiseXorOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLAcosOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLAcoshOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLAsinOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLAsinhOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLAtan2Op > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLAtanOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLAtanhOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLCeilOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLCosOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLCoshOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLErfOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLExpOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLFAbsOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLFMaxOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLFMinOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLFloorOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLFmaOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLLogOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLMixOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLPowOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLPrintfOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLRintOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLRoundOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLRsqrtOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLSAbsOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLSMaxOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLSMinOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLSinOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLSinhOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLSqrtOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLTanOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLTanhOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLUMaxOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CLUMinOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CompositeConstructOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CompositeExtractOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::CompositeInsertOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ControlBarrierOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ConvertFToSOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ConvertFToUOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ConvertPtrToUOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ConvertSToFOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ConvertUToFOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ConvertUToPtrOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::DotOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::EXTAtomicFAddOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::EXTEmitMeshTasksOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::EXTSetMeshOutputsOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::EmitVertexOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::EndPrimitiveOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::FAddOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::FConvertOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::FDivOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::FModOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::FMulOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::FNegateOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::FOrdEqualOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::FOrdGreaterThanEqualOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::FOrdGreaterThanOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::FOrdLessThanEqualOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::FOrdLessThanOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::FOrdNotEqualOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::FRemOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::FSubOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::FUnordEqualOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::FUnordGreaterThanEqualOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::FUnordGreaterThanOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::FUnordLessThanEqualOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::FUnordLessThanOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::FUnordNotEqualOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLAcosOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLAcoshOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLAsinOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLAsinhOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLAtanOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLAtanhOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLCeilOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLCosOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLCoshOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLCrossOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLDistanceOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLExp2Op > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLExpOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLFAbsOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLFClampOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLFMaxOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLFMinOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLFMixOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLFSignOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLFindILsbOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLFindSMsbOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLFindUMsbOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLFloorOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLFmaOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLFractOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLFrexpStructOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLInverseSqrtOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLLdexpOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLLengthOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLLog2Op > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLLogOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLNormalizeOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLPackHalf2x16Op > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLPackSnorm4x8Op > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLPowOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLReflectOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLRoundEvenOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLRoundOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLSAbsOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLSClampOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLSMaxOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLSMinOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLSSignOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLSinOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLSinhOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLSqrtOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLTanOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLTanhOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLUClampOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLUMaxOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLUMinOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLUnpackHalf2x16Op > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GLUnpackSnorm4x8Op > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GenericCastToPtrOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupBroadcastOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupFAddOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupFMaxOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupFMinOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupFMulKHROp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupIAddOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupIMulKHROp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformAllEqualOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformAllOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformAnyOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformBallotBitCountOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformBallotFindLSBOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformBallotFindMSBOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformBallotOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformBitwiseAndOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformBitwiseOrOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformBitwiseXorOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformBroadcastOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformElectOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformFAddOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformFMaxOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformFMinOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformFMulOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformIAddOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformIMulOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformLogicalAndOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformLogicalOrOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformLogicalXorOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformQuadSwapOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformRotateKHROp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformSMaxOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformSMinOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformShuffleDownOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformShuffleOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformShuffleUpOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformShuffleXorOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformUMaxOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupNonUniformUMinOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupSMaxOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupSMinOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupUMaxOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::GroupUMinOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::IAddCarryOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::IAddOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::IEqualOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::IMulOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::INTELControlBarrierArriveOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::INTELControlBarrierWaitOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::INTELConvertBF16ToFOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::INTELConvertFToBF16Op > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::INTELRoundFToTF32Op > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::INTELSubgroupBlockReadOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::INTELSubgroupBlockWriteOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::INotEqualOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ISubBorrowOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ISubOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ImageDrefGatherOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ImageFetchOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ImageOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ImageQuerySizeOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ImageReadOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ImageSampleExplicitLodOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ImageSampleImplicitLodOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ImageSampleProjDrefImplicitLodOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ImageWriteOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::InBoundsPtrAccessChainOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::IsFiniteOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::IsInfOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::IsNanOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::KHRAssumeTrueOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::KHRCooperativeMatrixLengthOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::KHRCooperativeMatrixLoadOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::KHRCooperativeMatrixMulAddOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::KHRCooperativeMatrixStoreOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::KHRSubgroupBallotOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::KillOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::LoadOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::LogicalAndOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::LogicalEqualOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::LogicalNotEqualOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::LogicalNotOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::LogicalOrOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::MatrixTimesMatrixOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::MatrixTimesScalarOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::MatrixTimesVectorOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::MemoryBarrierOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::NotOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::OrderedOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::PtrAccessChainOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::PtrCastToGenericOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ReturnOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ReturnValueOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::SConvertOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::SDivOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::SDotAccSatOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::SDotOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::SGreaterThanEqualOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::SGreaterThanOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::SLessThanEqualOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::SLessThanOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::SModOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::SMulExtendedOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::SNegateOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::SRemOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::SUDotAccSatOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::SUDotOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::SelectOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ShiftLeftLogicalOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ShiftRightArithmeticOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ShiftRightLogicalOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::StoreOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::TransposeOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::UConvertOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::UDivOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::UDotAccSatOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::UDotOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::UGreaterThanEqualOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::UGreaterThanOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ULessThanEqualOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::ULessThanOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::UModOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::UMulExtendedOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::UnorderedOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::UnreachableOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::VariableOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::VectorExtractDynamicOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::VectorInsertDynamicOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::VectorShuffleOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::VectorTimesMatrixOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Deserializer::processOp<::mlir::spirv::VectorTimesScalarOp > (ArrayRef< uint32_t > words)
template<>
LogicalResult Serializer::processOp< spirv::EntryPointOp > (spirv::EntryPointOp op)
template<>
LogicalResult Serializer::processOp< spirv::ExecutionModeOp > (spirv::ExecutionModeOp op)
template<>
LogicalResult Serializer::processOp< spirv::FunctionCallOp > (spirv::FunctionCallOp op)
template<>
LogicalResult Serializer::processOp< spirv::CopyMemoryOp > (spirv::CopyMemoryOp op)
template<>
LogicalResult Serializer::processOp< spirv::GenericCastToPtrExplicitOp > (spirv::GenericCastToPtrExplicitOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::AccessChainOp > (::mlir::spirv::AccessChainOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::AtomicAndOp > (::mlir::spirv::AtomicAndOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::AtomicCompareExchangeOp > (::mlir::spirv::AtomicCompareExchangeOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::AtomicCompareExchangeWeakOp > (::mlir::spirv::AtomicCompareExchangeWeakOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::AtomicExchangeOp > (::mlir::spirv::AtomicExchangeOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::AtomicIAddOp > (::mlir::spirv::AtomicIAddOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::AtomicIDecrementOp > (::mlir::spirv::AtomicIDecrementOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::AtomicIIncrementOp > (::mlir::spirv::AtomicIIncrementOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::AtomicISubOp > (::mlir::spirv::AtomicISubOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::AtomicOrOp > (::mlir::spirv::AtomicOrOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::AtomicSMaxOp > (::mlir::spirv::AtomicSMaxOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::AtomicSMinOp > (::mlir::spirv::AtomicSMinOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::AtomicUMaxOp > (::mlir::spirv::AtomicUMaxOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::AtomicUMinOp > (::mlir::spirv::AtomicUMinOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::AtomicXorOp > (::mlir::spirv::AtomicXorOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::BitCountOp > (::mlir::spirv::BitCountOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::BitFieldInsertOp > (::mlir::spirv::BitFieldInsertOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::BitFieldSExtractOp > (::mlir::spirv::BitFieldSExtractOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::BitFieldUExtractOp > (::mlir::spirv::BitFieldUExtractOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::BitReverseOp > (::mlir::spirv::BitReverseOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::BitcastOp > (::mlir::spirv::BitcastOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::BitwiseAndOp > (::mlir::spirv::BitwiseAndOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::BitwiseOrOp > (::mlir::spirv::BitwiseOrOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::BitwiseXorOp > (::mlir::spirv::BitwiseXorOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLAcosOp > (::mlir::spirv::CLAcosOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLAcoshOp > (::mlir::spirv::CLAcoshOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLAsinOp > (::mlir::spirv::CLAsinOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLAsinhOp > (::mlir::spirv::CLAsinhOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLAtan2Op > (::mlir::spirv::CLAtan2Op op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLAtanOp > (::mlir::spirv::CLAtanOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLAtanhOp > (::mlir::spirv::CLAtanhOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLCeilOp > (::mlir::spirv::CLCeilOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLCosOp > (::mlir::spirv::CLCosOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLCoshOp > (::mlir::spirv::CLCoshOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLErfOp > (::mlir::spirv::CLErfOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLExpOp > (::mlir::spirv::CLExpOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLFAbsOp > (::mlir::spirv::CLFAbsOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLFMaxOp > (::mlir::spirv::CLFMaxOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLFMinOp > (::mlir::spirv::CLFMinOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLFloorOp > (::mlir::spirv::CLFloorOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLFmaOp > (::mlir::spirv::CLFmaOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLLogOp > (::mlir::spirv::CLLogOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLMixOp > (::mlir::spirv::CLMixOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLPowOp > (::mlir::spirv::CLPowOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLPrintfOp > (::mlir::spirv::CLPrintfOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLRintOp > (::mlir::spirv::CLRintOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLRoundOp > (::mlir::spirv::CLRoundOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLRsqrtOp > (::mlir::spirv::CLRsqrtOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLSAbsOp > (::mlir::spirv::CLSAbsOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLSMaxOp > (::mlir::spirv::CLSMaxOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLSMinOp > (::mlir::spirv::CLSMinOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLSinOp > (::mlir::spirv::CLSinOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLSinhOp > (::mlir::spirv::CLSinhOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLSqrtOp > (::mlir::spirv::CLSqrtOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLTanOp > (::mlir::spirv::CLTanOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLTanhOp > (::mlir::spirv::CLTanhOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLUMaxOp > (::mlir::spirv::CLUMaxOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CLUMinOp > (::mlir::spirv::CLUMinOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CompositeConstructOp > (::mlir::spirv::CompositeConstructOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CompositeExtractOp > (::mlir::spirv::CompositeExtractOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::CompositeInsertOp > (::mlir::spirv::CompositeInsertOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ControlBarrierOp > (::mlir::spirv::ControlBarrierOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ConvertFToSOp > (::mlir::spirv::ConvertFToSOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ConvertFToUOp > (::mlir::spirv::ConvertFToUOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ConvertPtrToUOp > (::mlir::spirv::ConvertPtrToUOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ConvertSToFOp > (::mlir::spirv::ConvertSToFOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ConvertUToFOp > (::mlir::spirv::ConvertUToFOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ConvertUToPtrOp > (::mlir::spirv::ConvertUToPtrOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::DotOp > (::mlir::spirv::DotOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::EXTAtomicFAddOp > (::mlir::spirv::EXTAtomicFAddOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::EXTEmitMeshTasksOp > (::mlir::spirv::EXTEmitMeshTasksOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::EXTSetMeshOutputsOp > (::mlir::spirv::EXTSetMeshOutputsOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::EmitVertexOp > (::mlir::spirv::EmitVertexOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::EndPrimitiveOp > (::mlir::spirv::EndPrimitiveOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::FAddOp > (::mlir::spirv::FAddOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::FConvertOp > (::mlir::spirv::FConvertOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::FDivOp > (::mlir::spirv::FDivOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::FModOp > (::mlir::spirv::FModOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::FMulOp > (::mlir::spirv::FMulOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::FNegateOp > (::mlir::spirv::FNegateOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::FOrdEqualOp > (::mlir::spirv::FOrdEqualOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::FOrdGreaterThanEqualOp > (::mlir::spirv::FOrdGreaterThanEqualOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::FOrdGreaterThanOp > (::mlir::spirv::FOrdGreaterThanOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::FOrdLessThanEqualOp > (::mlir::spirv::FOrdLessThanEqualOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::FOrdLessThanOp > (::mlir::spirv::FOrdLessThanOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::FOrdNotEqualOp > (::mlir::spirv::FOrdNotEqualOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::FRemOp > (::mlir::spirv::FRemOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::FSubOp > (::mlir::spirv::FSubOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::FUnordEqualOp > (::mlir::spirv::FUnordEqualOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::FUnordGreaterThanEqualOp > (::mlir::spirv::FUnordGreaterThanEqualOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::FUnordGreaterThanOp > (::mlir::spirv::FUnordGreaterThanOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::FUnordLessThanEqualOp > (::mlir::spirv::FUnordLessThanEqualOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::FUnordLessThanOp > (::mlir::spirv::FUnordLessThanOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::FUnordNotEqualOp > (::mlir::spirv::FUnordNotEqualOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLAcosOp > (::mlir::spirv::GLAcosOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLAcoshOp > (::mlir::spirv::GLAcoshOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLAsinOp > (::mlir::spirv::GLAsinOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLAsinhOp > (::mlir::spirv::GLAsinhOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLAtanOp > (::mlir::spirv::GLAtanOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLAtanhOp > (::mlir::spirv::GLAtanhOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLCeilOp > (::mlir::spirv::GLCeilOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLCosOp > (::mlir::spirv::GLCosOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLCoshOp > (::mlir::spirv::GLCoshOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLCrossOp > (::mlir::spirv::GLCrossOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLDistanceOp > (::mlir::spirv::GLDistanceOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLExp2Op > (::mlir::spirv::GLExp2Op op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLExpOp > (::mlir::spirv::GLExpOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLFAbsOp > (::mlir::spirv::GLFAbsOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLFClampOp > (::mlir::spirv::GLFClampOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLFMaxOp > (::mlir::spirv::GLFMaxOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLFMinOp > (::mlir::spirv::GLFMinOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLFMixOp > (::mlir::spirv::GLFMixOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLFSignOp > (::mlir::spirv::GLFSignOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLFindILsbOp > (::mlir::spirv::GLFindILsbOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLFindSMsbOp > (::mlir::spirv::GLFindSMsbOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLFindUMsbOp > (::mlir::spirv::GLFindUMsbOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLFloorOp > (::mlir::spirv::GLFloorOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLFmaOp > (::mlir::spirv::GLFmaOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLFractOp > (::mlir::spirv::GLFractOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLFrexpStructOp > (::mlir::spirv::GLFrexpStructOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLInverseSqrtOp > (::mlir::spirv::GLInverseSqrtOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLLdexpOp > (::mlir::spirv::GLLdexpOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLLengthOp > (::mlir::spirv::GLLengthOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLLog2Op > (::mlir::spirv::GLLog2Op op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLLogOp > (::mlir::spirv::GLLogOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLNormalizeOp > (::mlir::spirv::GLNormalizeOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLPackHalf2x16Op > (::mlir::spirv::GLPackHalf2x16Op op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLPackSnorm4x8Op > (::mlir::spirv::GLPackSnorm4x8Op op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLPowOp > (::mlir::spirv::GLPowOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLReflectOp > (::mlir::spirv::GLReflectOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLRoundEvenOp > (::mlir::spirv::GLRoundEvenOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLRoundOp > (::mlir::spirv::GLRoundOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLSAbsOp > (::mlir::spirv::GLSAbsOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLSClampOp > (::mlir::spirv::GLSClampOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLSMaxOp > (::mlir::spirv::GLSMaxOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLSMinOp > (::mlir::spirv::GLSMinOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLSSignOp > (::mlir::spirv::GLSSignOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLSinOp > (::mlir::spirv::GLSinOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLSinhOp > (::mlir::spirv::GLSinhOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLSqrtOp > (::mlir::spirv::GLSqrtOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLTanOp > (::mlir::spirv::GLTanOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLTanhOp > (::mlir::spirv::GLTanhOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLUClampOp > (::mlir::spirv::GLUClampOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLUMaxOp > (::mlir::spirv::GLUMaxOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLUMinOp > (::mlir::spirv::GLUMinOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLUnpackHalf2x16Op > (::mlir::spirv::GLUnpackHalf2x16Op op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GLUnpackSnorm4x8Op > (::mlir::spirv::GLUnpackSnorm4x8Op op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GenericCastToPtrOp > (::mlir::spirv::GenericCastToPtrOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupBroadcastOp > (::mlir::spirv::GroupBroadcastOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupFAddOp > (::mlir::spirv::GroupFAddOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupFMaxOp > (::mlir::spirv::GroupFMaxOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupFMinOp > (::mlir::spirv::GroupFMinOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupFMulKHROp > (::mlir::spirv::GroupFMulKHROp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupIAddOp > (::mlir::spirv::GroupIAddOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupIMulKHROp > (::mlir::spirv::GroupIMulKHROp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformAllEqualOp > (::mlir::spirv::GroupNonUniformAllEqualOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformAllOp > (::mlir::spirv::GroupNonUniformAllOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformAnyOp > (::mlir::spirv::GroupNonUniformAnyOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformBallotBitCountOp > (::mlir::spirv::GroupNonUniformBallotBitCountOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformBallotFindLSBOp > (::mlir::spirv::GroupNonUniformBallotFindLSBOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformBallotFindMSBOp > (::mlir::spirv::GroupNonUniformBallotFindMSBOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformBallotOp > (::mlir::spirv::GroupNonUniformBallotOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformBitwiseAndOp > (::mlir::spirv::GroupNonUniformBitwiseAndOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformBitwiseOrOp > (::mlir::spirv::GroupNonUniformBitwiseOrOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformBitwiseXorOp > (::mlir::spirv::GroupNonUniformBitwiseXorOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformBroadcastOp > (::mlir::spirv::GroupNonUniformBroadcastOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformElectOp > (::mlir::spirv::GroupNonUniformElectOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformFAddOp > (::mlir::spirv::GroupNonUniformFAddOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformFMaxOp > (::mlir::spirv::GroupNonUniformFMaxOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformFMinOp > (::mlir::spirv::GroupNonUniformFMinOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformFMulOp > (::mlir::spirv::GroupNonUniformFMulOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformIAddOp > (::mlir::spirv::GroupNonUniformIAddOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformIMulOp > (::mlir::spirv::GroupNonUniformIMulOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformLogicalAndOp > (::mlir::spirv::GroupNonUniformLogicalAndOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformLogicalOrOp > (::mlir::spirv::GroupNonUniformLogicalOrOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformLogicalXorOp > (::mlir::spirv::GroupNonUniformLogicalXorOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformQuadSwapOp > (::mlir::spirv::GroupNonUniformQuadSwapOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformRotateKHROp > (::mlir::spirv::GroupNonUniformRotateKHROp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformSMaxOp > (::mlir::spirv::GroupNonUniformSMaxOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformSMinOp > (::mlir::spirv::GroupNonUniformSMinOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformShuffleDownOp > (::mlir::spirv::GroupNonUniformShuffleDownOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformShuffleOp > (::mlir::spirv::GroupNonUniformShuffleOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformShuffleUpOp > (::mlir::spirv::GroupNonUniformShuffleUpOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformShuffleXorOp > (::mlir::spirv::GroupNonUniformShuffleXorOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformUMaxOp > (::mlir::spirv::GroupNonUniformUMaxOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupNonUniformUMinOp > (::mlir::spirv::GroupNonUniformUMinOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupSMaxOp > (::mlir::spirv::GroupSMaxOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupSMinOp > (::mlir::spirv::GroupSMinOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupUMaxOp > (::mlir::spirv::GroupUMaxOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::GroupUMinOp > (::mlir::spirv::GroupUMinOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::IAddCarryOp > (::mlir::spirv::IAddCarryOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::IAddOp > (::mlir::spirv::IAddOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::IEqualOp > (::mlir::spirv::IEqualOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::IMulOp > (::mlir::spirv::IMulOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::INTELControlBarrierArriveOp > (::mlir::spirv::INTELControlBarrierArriveOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::INTELControlBarrierWaitOp > (::mlir::spirv::INTELControlBarrierWaitOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::INTELConvertBF16ToFOp > (::mlir::spirv::INTELConvertBF16ToFOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::INTELConvertFToBF16Op > (::mlir::spirv::INTELConvertFToBF16Op op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::INTELRoundFToTF32Op > (::mlir::spirv::INTELRoundFToTF32Op op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::INTELSubgroupBlockReadOp > (::mlir::spirv::INTELSubgroupBlockReadOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::INTELSubgroupBlockWriteOp > (::mlir::spirv::INTELSubgroupBlockWriteOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::INotEqualOp > (::mlir::spirv::INotEqualOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ISubBorrowOp > (::mlir::spirv::ISubBorrowOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ISubOp > (::mlir::spirv::ISubOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ImageDrefGatherOp > (::mlir::spirv::ImageDrefGatherOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ImageFetchOp > (::mlir::spirv::ImageFetchOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ImageOp > (::mlir::spirv::ImageOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ImageQuerySizeOp > (::mlir::spirv::ImageQuerySizeOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ImageReadOp > (::mlir::spirv::ImageReadOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ImageSampleExplicitLodOp > (::mlir::spirv::ImageSampleExplicitLodOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ImageSampleImplicitLodOp > (::mlir::spirv::ImageSampleImplicitLodOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ImageSampleProjDrefImplicitLodOp > (::mlir::spirv::ImageSampleProjDrefImplicitLodOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ImageWriteOp > (::mlir::spirv::ImageWriteOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::InBoundsPtrAccessChainOp > (::mlir::spirv::InBoundsPtrAccessChainOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::IsFiniteOp > (::mlir::spirv::IsFiniteOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::IsInfOp > (::mlir::spirv::IsInfOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::IsNanOp > (::mlir::spirv::IsNanOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::KHRAssumeTrueOp > (::mlir::spirv::KHRAssumeTrueOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::KHRCooperativeMatrixLengthOp > (::mlir::spirv::KHRCooperativeMatrixLengthOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::KHRCooperativeMatrixLoadOp > (::mlir::spirv::KHRCooperativeMatrixLoadOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::KHRCooperativeMatrixMulAddOp > (::mlir::spirv::KHRCooperativeMatrixMulAddOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::KHRCooperativeMatrixStoreOp > (::mlir::spirv::KHRCooperativeMatrixStoreOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::KHRSubgroupBallotOp > (::mlir::spirv::KHRSubgroupBallotOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::KillOp > (::mlir::spirv::KillOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::LoadOp > (::mlir::spirv::LoadOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::LogicalAndOp > (::mlir::spirv::LogicalAndOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::LogicalEqualOp > (::mlir::spirv::LogicalEqualOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::LogicalNotEqualOp > (::mlir::spirv::LogicalNotEqualOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::LogicalNotOp > (::mlir::spirv::LogicalNotOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::LogicalOrOp > (::mlir::spirv::LogicalOrOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::MatrixTimesMatrixOp > (::mlir::spirv::MatrixTimesMatrixOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::MatrixTimesScalarOp > (::mlir::spirv::MatrixTimesScalarOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::MatrixTimesVectorOp > (::mlir::spirv::MatrixTimesVectorOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::MemoryBarrierOp > (::mlir::spirv::MemoryBarrierOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::NotOp > (::mlir::spirv::NotOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::OrderedOp > (::mlir::spirv::OrderedOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::PtrAccessChainOp > (::mlir::spirv::PtrAccessChainOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::PtrCastToGenericOp > (::mlir::spirv::PtrCastToGenericOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ReturnOp > (::mlir::spirv::ReturnOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ReturnValueOp > (::mlir::spirv::ReturnValueOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::SConvertOp > (::mlir::spirv::SConvertOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::SDivOp > (::mlir::spirv::SDivOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::SDotAccSatOp > (::mlir::spirv::SDotAccSatOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::SDotOp > (::mlir::spirv::SDotOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::SGreaterThanEqualOp > (::mlir::spirv::SGreaterThanEqualOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::SGreaterThanOp > (::mlir::spirv::SGreaterThanOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::SLessThanEqualOp > (::mlir::spirv::SLessThanEqualOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::SLessThanOp > (::mlir::spirv::SLessThanOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::SModOp > (::mlir::spirv::SModOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::SMulExtendedOp > (::mlir::spirv::SMulExtendedOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::SNegateOp > (::mlir::spirv::SNegateOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::SRemOp > (::mlir::spirv::SRemOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::SUDotAccSatOp > (::mlir::spirv::SUDotAccSatOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::SUDotOp > (::mlir::spirv::SUDotOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::SelectOp > (::mlir::spirv::SelectOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ShiftLeftLogicalOp > (::mlir::spirv::ShiftLeftLogicalOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ShiftRightArithmeticOp > (::mlir::spirv::ShiftRightArithmeticOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ShiftRightLogicalOp > (::mlir::spirv::ShiftRightLogicalOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::StoreOp > (::mlir::spirv::StoreOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::TransposeOp > (::mlir::spirv::TransposeOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::UConvertOp > (::mlir::spirv::UConvertOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::UDivOp > (::mlir::spirv::UDivOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::UDotAccSatOp > (::mlir::spirv::UDotAccSatOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::UDotOp > (::mlir::spirv::UDotOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::UGreaterThanEqualOp > (::mlir::spirv::UGreaterThanEqualOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::UGreaterThanOp > (::mlir::spirv::UGreaterThanOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ULessThanEqualOp > (::mlir::spirv::ULessThanEqualOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::ULessThanOp > (::mlir::spirv::ULessThanOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::UModOp > (::mlir::spirv::UModOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::UMulExtendedOp > (::mlir::spirv::UMulExtendedOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::UnorderedOp > (::mlir::spirv::UnorderedOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::UnreachableOp > (::mlir::spirv::UnreachableOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::VariableOp > (::mlir::spirv::VariableOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::VectorExtractDynamicOp > (::mlir::spirv::VectorExtractDynamicOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::VectorInsertDynamicOp > (::mlir::spirv::VectorInsertDynamicOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::VectorShuffleOp > (::mlir::spirv::VectorShuffleOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::VectorTimesMatrixOp > (::mlir::spirv::VectorTimesMatrixOp op)
template<>
LogicalResult Serializer::processOp<::mlir::spirv::VectorTimesScalarOp > (::mlir::spirv::VectorTimesScalarOp op)
void encodeInstructionInto (SmallVectorImpl< uint32_t > &binary, spirv::Opcode op, ArrayRef< uint32_t > operands)
 Encodes an SPIR-V instruction with the given opcode and operands into the given binary vector.
static std::string getDecorationName (StringRef attrName)
template<typename AttrTy, typename EmitF>
static LogicalResult processDecorationList (Location loc, Decoration decoration, Attribute attrList, StringRef attrName, EmitF emitter)
template<>
LogicalResult Serializer::processTypeDecoration< spirv::ArrayType > (Location loc, spirv::ArrayType type, uint32_t resultID)
template<>
LogicalResult Serializer::processTypeDecoration< spirv::RuntimeArrayType > (Location loc, spirv::RuntimeArrayType type, uint32_t resultID)
static Type getValueType (Attribute attr)

Variables

constexpr unsigned kHeaderWordCount = 5
 SPIR-V binary header word count.
constexpr uint32_t kMagicNumber = 0x07230203
 SPIR-V magic number.
constexpr uint32_t kGeneratorNumber = 22
 The serializer tool ID registered to the Khronos Group.
constexpr uint32_t kMaxWordCount = 65535
 Max number of words https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#_universal_limits.
constexpr uint32_t kMaxLiteralWordCount = kMaxWordCount - 3
 Max number of words for literal.

Typedef Documentation

◆ BlockMergeInfoMap

Map from a selection/loop's header block to its merge (and continue) target.

Use MapVector<> to ensure a deterministic iteration order with a pointer key.

Definition at line 63 of file Deserializer.h.

◆ GetTargetEnvFn

using mlir::spirv::GetTargetEnvFn = std::function<spirv::TargetEnvAttr(spirv::ModuleOp)>

Creates an operation pass that unifies access of multiple aliased resources into access of one single resource.

Definition at line 36 of file Passes.h.

◆ MemorySpaceToStorageClassMap

Initial value:
std::function<std::optional<spirv::StorageClass>(Attribute)>
Attributes are known-constant values of operations.
Definition Attributes.h:25

Mapping from numeric MemRef memory spaces into SPIR-V symbolic ones.

Definition at line 25 of file MemRefToSPIRV.h.

◆ SymbolRenameListener

Initial value:
spirv::ModuleOp originalModule, StringRef oldSymbol, StringRef newSymbol)>
llvm::function_ref< Fn > function_ref
Definition LLVM.h:152

The listener function to receive symbol renaming events.

originalModule is the input spirv::ModuleOp that contains the renamed symbol. oldSymbol and newSymbol are the original and renamed symbol. Note that it's the responsibility of the caller to properly retain the storage underlying the passed StringRefs if the listener callback outlives this function call.

Definition at line 32 of file ModuleCombiner.h.

Function Documentation

◆ appendModuleHeader()

void mlir::spirv::appendModuleHeader ( SmallVectorImpl< uint32_t > & header,
spirv::Version version,
uint32_t idBound )

Appends a SPRI-V module header to header with the given version and idBound.

Definition at line 21 of file SPIRVBinaryUtils.cpp.

References kGeneratorNumber, kMagicNumber, and MIN_VERSION_CASE.

Referenced by mlir::spirv::Serializer::collect().

◆ attributeName()

◆ attributeName< AddressingModel >() [1/2]

template<>
StringRef mlir::spirv::attributeName< AddressingModel > ( )
inline

Definition at line 38 of file SPIRVAttributes.h.

◆ attributeName< AddressingModel >() [2/2]

template<>
StringRef mlir::spirv::attributeName< AddressingModel > ( )
inline

Definition at line 38 of file SPIRVAttributes.cpp.

◆ attributeName< BuiltIn >() [1/2]

template<>
StringRef mlir::spirv::attributeName< BuiltIn > ( )
inline

Definition at line 42 of file SPIRVAttributes.h.

◆ attributeName< BuiltIn >() [2/2]

template<>
StringRef mlir::spirv::attributeName< BuiltIn > ( )
inline

Definition at line 42 of file SPIRVAttributes.cpp.

◆ attributeName< Capability >() [1/2]

template<>
StringRef mlir::spirv::attributeName< Capability > ( )
inline

Definition at line 34 of file SPIRVAttributes.h.

◆ attributeName< Capability >() [2/2]

template<>
StringRef mlir::spirv::attributeName< Capability > ( )
inline

Definition at line 34 of file SPIRVAttributes.cpp.

◆ attributeName< ClientAPI >() [1/2]

template<>
StringRef mlir::spirv::attributeName< ClientAPI > ( )
inline

Definition at line 26 of file SPIRVAttributes.h.

◆ attributeName< ClientAPI >() [2/2]

template<>
StringRef mlir::spirv::attributeName< ClientAPI > ( )
inline

Definition at line 26 of file SPIRVAttributes.cpp.

◆ attributeName< CooperativeMatrixLayoutKHR >() [1/2]

template<>
StringRef mlir::spirv::attributeName< CooperativeMatrixLayoutKHR > ( )
inline

Definition at line 146 of file SPIRVAttributes.h.

◆ attributeName< CooperativeMatrixLayoutKHR >() [2/2]

template<>
StringRef mlir::spirv::attributeName< CooperativeMatrixLayoutKHR > ( )
inline

Definition at line 146 of file SPIRVAttributes.cpp.

◆ attributeName< CooperativeMatrixOperandsKHR >() [1/2]

template<>
StringRef mlir::spirv::attributeName< CooperativeMatrixOperandsKHR > ( )
inline

Definition at line 150 of file SPIRVAttributes.h.

◆ attributeName< CooperativeMatrixOperandsKHR >() [2/2]

template<>
StringRef mlir::spirv::attributeName< CooperativeMatrixOperandsKHR > ( )
inline

Definition at line 150 of file SPIRVAttributes.cpp.

◆ attributeName< CooperativeMatrixUseKHR >() [1/2]

template<>
StringRef mlir::spirv::attributeName< CooperativeMatrixUseKHR > ( )
inline

Definition at line 142 of file SPIRVAttributes.h.

◆ attributeName< CooperativeMatrixUseKHR >() [2/2]

template<>
StringRef mlir::spirv::attributeName< CooperativeMatrixUseKHR > ( )
inline

Definition at line 142 of file SPIRVAttributes.cpp.

◆ attributeName< Decoration >() [1/2]

template<>
StringRef mlir::spirv::attributeName< Decoration > ( )
inline

Definition at line 46 of file SPIRVAttributes.h.

◆ attributeName< Decoration >() [2/2]

template<>
StringRef mlir::spirv::attributeName< Decoration > ( )
inline

Definition at line 46 of file SPIRVAttributes.cpp.

◆ attributeName< DeviceType >() [1/2]

template<>
StringRef mlir::spirv::attributeName< DeviceType > ( )
inline

Definition at line 18 of file SPIRVAttributes.h.

◆ attributeName< DeviceType >() [2/2]

template<>
StringRef mlir::spirv::attributeName< DeviceType > ( )
inline

Definition at line 18 of file SPIRVAttributes.cpp.

◆ attributeName< Dim >() [1/2]

template<>
StringRef mlir::spirv::attributeName< Dim > ( )
inline

Definition at line 50 of file SPIRVAttributes.h.

◆ attributeName< Dim >() [2/2]

template<>
StringRef mlir::spirv::attributeName< Dim > ( )
inline

Definition at line 50 of file SPIRVAttributes.cpp.

◆ attributeName< ExecutionMode >() [1/2]

template<>
StringRef mlir::spirv::attributeName< ExecutionMode > ( )
inline

Definition at line 54 of file SPIRVAttributes.h.

◆ attributeName< ExecutionMode >() [2/2]

template<>
StringRef mlir::spirv::attributeName< ExecutionMode > ( )
inline

Definition at line 54 of file SPIRVAttributes.cpp.

◆ attributeName< ExecutionModel >() [1/2]

template<>
StringRef mlir::spirv::attributeName< ExecutionModel > ( )
inline

Definition at line 58 of file SPIRVAttributes.h.

◆ attributeName< ExecutionModel >() [2/2]

template<>
StringRef mlir::spirv::attributeName< ExecutionModel > ( )
inline

Definition at line 58 of file SPIRVAttributes.cpp.

◆ attributeName< Extension >() [1/2]

template<>
StringRef mlir::spirv::attributeName< Extension > ( )
inline

Definition at line 30 of file SPIRVAttributes.h.

◆ attributeName< Extension >() [2/2]

template<>
StringRef mlir::spirv::attributeName< Extension > ( )
inline

Definition at line 30 of file SPIRVAttributes.cpp.

◆ attributeName< FPEncoding >() [1/2]

template<>
StringRef mlir::spirv::attributeName< FPEncoding > ( )
inline

Definition at line 62 of file SPIRVAttributes.h.

◆ attributeName< FPEncoding >() [2/2]

template<>
StringRef mlir::spirv::attributeName< FPEncoding > ( )
inline

Definition at line 62 of file SPIRVAttributes.cpp.

◆ attributeName< FPFastMathMode >() [1/2]

template<>
StringRef mlir::spirv::attributeName< FPFastMathMode > ( )
inline

Definition at line 166 of file SPIRVAttributes.h.

References ArrayAttr().

◆ attributeName< FPFastMathMode >() [2/2]

template<>
StringRef mlir::spirv::attributeName< FPFastMathMode > ( )
inline

Definition at line 166 of file SPIRVAttributes.cpp.

References mlir::emitError(), and success().

◆ attributeName< FPRoundingMode >() [1/2]

template<>
StringRef mlir::spirv::attributeName< FPRoundingMode > ( )
inline

Definition at line 66 of file SPIRVAttributes.h.

◆ attributeName< FPRoundingMode >() [2/2]

template<>
StringRef mlir::spirv::attributeName< FPRoundingMode > ( )
inline

Definition at line 66 of file SPIRVAttributes.cpp.

◆ attributeName< FunctionControl >() [1/2]

template<>
StringRef mlir::spirv::attributeName< FunctionControl > ( )
inline

Definition at line 70 of file SPIRVAttributes.h.

◆ attributeName< FunctionControl >() [2/2]

template<>
StringRef mlir::spirv::attributeName< FunctionControl > ( )
inline

Definition at line 70 of file SPIRVAttributes.cpp.

◆ attributeName< GroupOperation >() [1/2]

template<>
StringRef mlir::spirv::attributeName< GroupOperation > ( )
inline

Definition at line 74 of file SPIRVAttributes.h.

◆ attributeName< GroupOperation >() [2/2]

template<>
StringRef mlir::spirv::attributeName< GroupOperation > ( )
inline

Definition at line 74 of file SPIRVAttributes.cpp.

◆ attributeName< ImageArrayedInfo >() [1/2]

template<>
StringRef mlir::spirv::attributeName< ImageArrayedInfo > ( )
inline

Definition at line 126 of file SPIRVAttributes.h.

◆ attributeName< ImageArrayedInfo >() [2/2]

template<>
StringRef mlir::spirv::attributeName< ImageArrayedInfo > ( )
inline

Definition at line 126 of file SPIRVAttributes.cpp.

References b.

◆ attributeName< ImageDepthInfo >() [1/2]

template<>
StringRef mlir::spirv::attributeName< ImageDepthInfo > ( )
inline

◆ attributeName< ImageDepthInfo >() [2/2]

template<>
StringRef mlir::spirv::attributeName< ImageDepthInfo > ( )
inline

Definition at line 122 of file SPIRVAttributes.cpp.

◆ attributeName< ImageFormat >() [1/2]

template<>
StringRef mlir::spirv::attributeName< ImageFormat > ( )
inline

Definition at line 78 of file SPIRVAttributes.h.

References mlir::emitError().

◆ attributeName< ImageFormat >() [2/2]

template<>
StringRef mlir::spirv::attributeName< ImageFormat > ( )
inline

Definition at line 78 of file SPIRVAttributes.cpp.

◆ attributeName< ImageOperands >() [1/2]

template<>
StringRef mlir::spirv::attributeName< ImageOperands > ( )
inline

Definition at line 82 of file SPIRVAttributes.h.

◆ attributeName< ImageOperands >() [2/2]

template<>
StringRef mlir::spirv::attributeName< ImageOperands > ( )
inline

Definition at line 82 of file SPIRVAttributes.cpp.

◆ attributeName< ImageSamplerUseInfo >() [1/2]

template<>
StringRef mlir::spirv::attributeName< ImageSamplerUseInfo > ( )
inline

Definition at line 134 of file SPIRVAttributes.h.

References ArrayAttr().

◆ attributeName< ImageSamplerUseInfo >() [2/2]

template<>
StringRef mlir::spirv::attributeName< ImageSamplerUseInfo > ( )
inline

Definition at line 134 of file SPIRVAttributes.cpp.

◆ attributeName< ImageSamplingInfo >() [1/2]

template<>
StringRef mlir::spirv::attributeName< ImageSamplingInfo > ( )
inline

Definition at line 130 of file SPIRVAttributes.h.

References ArrayAttr(), and mlir::emitError().

◆ attributeName< ImageSamplingInfo >() [2/2]

template<>
StringRef mlir::spirv::attributeName< ImageSamplingInfo > ( )
inline

Definition at line 130 of file SPIRVAttributes.cpp.

References b.

◆ attributeName< LinkageType >() [1/2]

template<>
StringRef mlir::spirv::attributeName< LinkageType > ( )
inline

Definition at line 86 of file SPIRVAttributes.h.

◆ attributeName< LinkageType >() [2/2]

template<>
StringRef mlir::spirv::attributeName< LinkageType > ( )
inline

Definition at line 86 of file SPIRVAttributes.cpp.

◆ attributeName< LoadCacheControl >() [1/2]

template<>
StringRef mlir::spirv::attributeName< LoadCacheControl > ( )
inline

Definition at line 154 of file SPIRVAttributes.h.

◆ attributeName< LoadCacheControl >() [2/2]

template<>
StringRef mlir::spirv::attributeName< LoadCacheControl > ( )
inline

Definition at line 154 of file SPIRVAttributes.cpp.

◆ attributeName< LoopControl >() [1/2]

template<>
StringRef mlir::spirv::attributeName< LoopControl > ( )
inline

Definition at line 90 of file SPIRVAttributes.h.

◆ attributeName< LoopControl >() [2/2]

template<>
StringRef mlir::spirv::attributeName< LoopControl > ( )
inline

Definition at line 90 of file SPIRVAttributes.cpp.

◆ attributeName< MatrixLayout >() [1/2]

template<>
StringRef mlir::spirv::attributeName< MatrixLayout > ( )
inline

Definition at line 138 of file SPIRVAttributes.h.

◆ attributeName< MatrixLayout >() [2/2]

template<>
StringRef mlir::spirv::attributeName< MatrixLayout > ( )
inline

Definition at line 138 of file SPIRVAttributes.cpp.

◆ attributeName< MemoryAccess >() [1/2]

template<>
StringRef mlir::spirv::attributeName< MemoryAccess > ( )
inline

Definition at line 94 of file SPIRVAttributes.h.

◆ attributeName< MemoryAccess >() [2/2]

template<>
StringRef mlir::spirv::attributeName< MemoryAccess > ( )
inline

Definition at line 94 of file SPIRVAttributes.cpp.

◆ attributeName< MemoryModel >() [1/2]

template<>
StringRef mlir::spirv::attributeName< MemoryModel > ( )
inline

Definition at line 98 of file SPIRVAttributes.h.

References ArrayAttr().

◆ attributeName< MemoryModel >() [2/2]

template<>
StringRef mlir::spirv::attributeName< MemoryModel > ( )
inline

Definition at line 98 of file SPIRVAttributes.cpp.

◆ attributeName< MemorySemantics >() [1/2]

template<>
StringRef mlir::spirv::attributeName< MemorySemantics > ( )
inline

Definition at line 102 of file SPIRVAttributes.h.

◆ attributeName< MemorySemantics >() [2/2]

template<>
StringRef mlir::spirv::attributeName< MemorySemantics > ( )
inline

Definition at line 102 of file SPIRVAttributes.cpp.

◆ attributeName< Opcode >() [1/2]

template<>
StringRef mlir::spirv::attributeName< Opcode > ( )
inline

Definition at line 162 of file SPIRVAttributes.h.

◆ attributeName< Opcode >() [2/2]

template<>
StringRef mlir::spirv::attributeName< Opcode > ( )
inline

Definition at line 162 of file SPIRVAttributes.cpp.

◆ attributeName< PackedVectorFormat >() [1/2]

template<>
StringRef mlir::spirv::attributeName< PackedVectorFormat > ( )
inline

Definition at line 118 of file SPIRVAttributes.h.

References ArrayAttr().

◆ attributeName< PackedVectorFormat >() [2/2]

template<>
StringRef mlir::spirv::attributeName< PackedVectorFormat > ( )
inline

Definition at line 118 of file SPIRVAttributes.cpp.

◆ attributeName< Scope >() [1/2]

template<>
StringRef mlir::spirv::attributeName< Scope > ( )
inline

Definition at line 106 of file SPIRVAttributes.h.

◆ attributeName< Scope >() [2/2]

template<>
StringRef mlir::spirv::attributeName< Scope > ( )
inline

Definition at line 106 of file SPIRVAttributes.cpp.

◆ attributeName< SelectionControl >() [1/2]

template<>
StringRef mlir::spirv::attributeName< SelectionControl > ( )
inline

◆ attributeName< SelectionControl >() [2/2]

template<>
StringRef mlir::spirv::attributeName< SelectionControl > ( )
inline

Definition at line 110 of file SPIRVAttributes.cpp.

◆ attributeName< StorageClass >() [1/2]

template<>
StringRef mlir::spirv::attributeName< StorageClass > ( )
inline

Definition at line 114 of file SPIRVAttributes.h.

◆ attributeName< StorageClass >() [2/2]

template<>
StringRef mlir::spirv::attributeName< StorageClass > ( )
inline

Definition at line 114 of file SPIRVAttributes.cpp.

◆ attributeName< StoreCacheControl >() [1/2]

template<>
StringRef mlir::spirv::attributeName< StoreCacheControl > ( )
inline

Definition at line 158 of file SPIRVAttributes.h.

◆ attributeName< StoreCacheControl >() [2/2]

template<>
StringRef mlir::spirv::attributeName< StoreCacheControl > ( )
inline

Definition at line 158 of file SPIRVAttributes.cpp.

◆ attributeName< Vendor >() [1/2]

template<>
StringRef mlir::spirv::attributeName< Vendor > ( )
inline

Definition at line 22 of file SPIRVAttributes.h.

◆ attributeName< Vendor >() [2/2]

template<>
StringRef mlir::spirv::attributeName< Vendor > ( )
inline

Definition at line 22 of file SPIRVAttributes.cpp.

◆ attributeName< Version >() [1/2]

template<>
StringRef mlir::spirv::attributeName< Version > ( )
inline

Definition at line 14 of file SPIRVAttributes.h.

◆ attributeName< Version >() [2/2]

template<>
StringRef mlir::spirv::attributeName< Version > ( )
inline

Definition at line 14 of file SPIRVAttributes.cpp.

◆ combine() [1/2]

OwningOpRef< spirv::ModuleOp > mlir::spirv::combine ( ArrayRef< spirv::ModuleOp > inputModules,
OpBuilder & combinedModuleBuilder,
SymbolRenameListener symRenameListener )

Combines a list of SPIR-V inputModules into one.

Returns the combined module on success; returns a null module otherwise.

Parameters
inputModulesthe list of modules to combine. They won't be modified.
combinedMdouleBuilderan OpBuilder for building the combined module.
symbRenameListenera listener that gets called everytime a symbol in one of the input modules is renamed.

To combine multiple SPIR-V modules, we move all the module-level ops from all the input modules into one big combined module. To that end, the combination process proceeds in 2 phases:

  1. resolve conflicts between pairs of ops from different modules,
  2. deduplicate equivalent ops/sub-ops in the merged module.

For the conflict resolution phase, the following rules are employed to resolve such conflicts:

  • If 2 spirv.func's have the same symbol name, then rename one of the functions.
  • If an spirv.func and another op have the same symbol name, then rename the other symbol.
  • If none of the 2 conflicting ops are spirv.func, then rename either.

For deduplication, the following 3 cases are taken into consideration:

  • If 2 spirv.GlobalVariable's have either the same descriptor set + binding or the same build_in attribute value, then replace one of them using the other.
  • If 2 spirv.SpecConstant's have the same spec_id attribute value, then replace one of them using the other.
  • Deduplicating functions are not supported right now.

In all cases, the references to the updated symbol (whether renamed or deduplicated) are also updated to reflect the change.

◆ combine() [2/2]

OwningOpRef< spirv::ModuleOp > mlir::spirv::combine ( ArrayRef< spirv::ModuleOp > inputModules,
OpBuilder & combinedModuleBuilder,
SymbolRenameListener symRenameListener )

◆ convertMemRefTypesAndAttrs()

void mlir::spirv::convertMemRefTypesAndAttrs ( Operation * op,
MemorySpaceToStorageClassConverter & typeConverter )

Converts all MemRef types and attributes in the op, as decided by the typeConverter.

Definition at line 249 of file MapMemRefStorageClassPass.cpp.

References mlir::detail::AttrTypeReplacerBase< Concrete >::addReplacement(), and mlir::detail::AttrTypeReplacerBase< Concrete >::recursivelyReplaceElementsIn().

◆ createSPIRVCanonicalizeGLPass()

std::unique_ptr<::mlir::Pass > mlir::spirv::createSPIRVCanonicalizeGLPass ( )

We declare an explicit private instantiation because Pass classes should only be visible by the current library.

Definition at line 86 of file CanonicalizeGLPass.cpp.

◆ createSPIRVCompositeTypeLayoutPass()

std::unique_ptr<::mlir::Pass > mlir::spirv::createSPIRVCompositeTypeLayoutPass ( )

We declare an explicit private instantiation because Pass classes should only be visible by the current library.

Definition at line 161 of file DecorateCompositeTypeLayoutPass.cpp.

◆ createSPIRVLowerABIAttributesPass()

std::unique_ptr<::mlir::Pass > mlir::spirv::createSPIRVLowerABIAttributesPass ( )

We declare an explicit private instantiation because Pass classes should only be visible by the current library.

Definition at line 236 of file LowerABIAttributesPass.cpp.

◆ createSPIRVReplicatedConstantCompositePass()

std::unique_ptr<::mlir::Pass > mlir::spirv::createSPIRVReplicatedConstantCompositePass ( )

We declare an explicit private instantiation because Pass classes should only be visible by the current library.

Definition at line 311 of file ConvertToReplicatedConstantCompositePass.cpp.

◆ createSPIRVRewriteInsertsPass()

std::unique_ptr<::mlir::Pass > mlir::spirv::createSPIRVRewriteInsertsPass ( )

We declare an explicit private instantiation because Pass classes should only be visible by the current library.

Definition at line 386 of file RewriteInsertsPass.cpp.

◆ createSPIRVUpdateVCEPass()

std::unique_ptr<::mlir::Pass > mlir::spirv::createSPIRVUpdateVCEPass ( )

We declare an explicit private instantiation because Pass classes should only be visible by the current library.

Definition at line 523 of file UpdateVCEPass.cpp.

◆ createSPIRVWebGPUPreparePass()

std::unique_ptr<::mlir::Pass > mlir::spirv::createSPIRVWebGPUPreparePass ( )

We declare an explicit private instantiation because Pass classes should only be visible by the current library.

Definition at line 598 of file SPIRVWebGPUTransforms.cpp.

◆ createUnifyAliasedResourcePass()

std::unique_ptr< mlir::OperationPass< spirv::ModuleOp > > mlir::spirv::createUnifyAliasedResourcePass ( spirv::GetTargetEnvFn getTargetEnv = nullptr)

Definition at line 623 of file UnifyAliasedResourcePass.cpp.

◆ decodeStringLiteral()

StringRef mlir::spirv::decodeStringLiteral ( ArrayRef< uint32_t > words,
unsigned & wordIndex )
inline

Decodes a string literal in words starting at wordIndex.

Update the latter to point to the position in words after the string literal.

Definition at line 54 of file SPIRVBinaryUtils.h.

Referenced by Deserializer::processOp< spirv::EntryPointOp >(), mlir::spirv::Deserializer::processDebugString(), and mlir::spirv::Deserializer::processGraphEntryPointARM().

◆ deserialize()

OwningOpRef< spirv::ModuleOp > mlir::spirv::deserialize ( ArrayRef< uint32_t > binary,
MLIRContext * context,
const DeserializationOptions & options = {} )

Deserializes the given SPIR-V binary module and creates a MLIR ModuleOp in the given context.

Returns the ModuleOp on success; otherwise, reports errors to the error handler registered with context and returns a null module.

Definition at line 16 of file Deserialization.cpp.

References options.

Referenced by deserializeModule(), and roundTripModule().

◆ Deserializer::processOp< spirv::CopyMemoryOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp< spirv::CopyMemoryOp > ( ArrayRef< uint32_t > words)

◆ Deserializer::processOp< spirv::EntryPointOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp< spirv::EntryPointOp > ( ArrayRef< uint32_t > words)

◆ Deserializer::processOp< spirv::ExecutionModeOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp< spirv::ExecutionModeOp > ( ArrayRef< uint32_t > words)

◆ Deserializer::processOp< spirv::FunctionCallOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp< spirv::FunctionCallOp > ( ArrayRef< uint32_t > operands)

◆ Deserializer::processOp< spirv::GenericCastToPtrExplicitOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp< spirv::GenericCastToPtrExplicitOp > ( ArrayRef< uint32_t > words)

◆ Deserializer::processOp<::mlir::spirv::AccessChainOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::AccessChainOp > ( ArrayRef< uint32_t > words)

Definition at line 5962 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::AtomicAndOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::AtomicAndOp > ( ArrayRef< uint32_t > words)

Definition at line 6016 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::AtomicCompareExchangeOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::AtomicCompareExchangeOp > ( ArrayRef< uint32_t > words)

Definition at line 6077 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::AtomicCompareExchangeWeakOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::AtomicCompareExchangeWeakOp > ( ArrayRef< uint32_t > words)

Definition at line 6149 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::AtomicExchangeOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::AtomicExchangeOp > ( ArrayRef< uint32_t > words)

Definition at line 6221 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::AtomicIAddOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::AtomicIAddOp > ( ArrayRef< uint32_t > words)

Definition at line 6282 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::AtomicIDecrementOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::AtomicIDecrementOp > ( ArrayRef< uint32_t > words)

Definition at line 6343 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::AtomicIIncrementOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::AtomicIIncrementOp > ( ArrayRef< uint32_t > words)

Definition at line 6396 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::AtomicISubOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::AtomicISubOp > ( ArrayRef< uint32_t > words)

Definition at line 6449 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::AtomicOrOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::AtomicOrOp > ( ArrayRef< uint32_t > words)

Definition at line 6510 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::AtomicSMaxOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::AtomicSMaxOp > ( ArrayRef< uint32_t > words)

Definition at line 6571 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::AtomicSMinOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::AtomicSMinOp > ( ArrayRef< uint32_t > words)

Definition at line 6632 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::AtomicUMaxOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::AtomicUMaxOp > ( ArrayRef< uint32_t > words)

Definition at line 6693 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::AtomicUMinOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::AtomicUMinOp > ( ArrayRef< uint32_t > words)

Definition at line 6754 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::AtomicXorOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::AtomicXorOp > ( ArrayRef< uint32_t > words)

Definition at line 6815 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::BitcastOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::BitcastOp > ( ArrayRef< uint32_t > words)

Definition at line 6901 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::BitCountOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::BitCountOp > ( ArrayRef< uint32_t > words)

Definition at line 6876 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::BitFieldInsertOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::BitFieldInsertOp > ( ArrayRef< uint32_t > words)

Definition at line 6881 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::BitFieldSExtractOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::BitFieldSExtractOp > ( ArrayRef< uint32_t > words)

Definition at line 6886 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::BitFieldUExtractOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::BitFieldUExtractOp > ( ArrayRef< uint32_t > words)

Definition at line 6891 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::BitReverseOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::BitReverseOp > ( ArrayRef< uint32_t > words)

Definition at line 6896 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::BitwiseAndOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::BitwiseAndOp > ( ArrayRef< uint32_t > words)

Definition at line 6906 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::BitwiseOrOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::BitwiseOrOp > ( ArrayRef< uint32_t > words)

Definition at line 6911 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::BitwiseXorOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::BitwiseXorOp > ( ArrayRef< uint32_t > words)

Definition at line 6916 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLAcoshOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLAcoshOp > ( ArrayRef< uint32_t > words)

Definition at line 6926 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLAcosOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLAcosOp > ( ArrayRef< uint32_t > words)

Definition at line 6921 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLAsinhOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLAsinhOp > ( ArrayRef< uint32_t > words)

Definition at line 6936 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLAsinOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLAsinOp > ( ArrayRef< uint32_t > words)

Definition at line 6931 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLAtan2Op >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLAtan2Op > ( ArrayRef< uint32_t > words)

Definition at line 6941 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLAtanhOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLAtanhOp > ( ArrayRef< uint32_t > words)

Definition at line 6951 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLAtanOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLAtanOp > ( ArrayRef< uint32_t > words)

Definition at line 6946 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLCeilOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLCeilOp > ( ArrayRef< uint32_t > words)

Definition at line 6956 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLCoshOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLCoshOp > ( ArrayRef< uint32_t > words)

Definition at line 6966 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLCosOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLCosOp > ( ArrayRef< uint32_t > words)

Definition at line 6961 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLErfOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLErfOp > ( ArrayRef< uint32_t > words)

Definition at line 6971 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLExpOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLExpOp > ( ArrayRef< uint32_t > words)

Definition at line 6976 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLFAbsOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLFAbsOp > ( ArrayRef< uint32_t > words)

Definition at line 6981 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLFloorOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLFloorOp > ( ArrayRef< uint32_t > words)

Definition at line 6996 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLFmaOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLFmaOp > ( ArrayRef< uint32_t > words)

Definition at line 7001 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLFMaxOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLFMaxOp > ( ArrayRef< uint32_t > words)

Definition at line 6986 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLFMinOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLFMinOp > ( ArrayRef< uint32_t > words)

Definition at line 6991 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLLogOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLLogOp > ( ArrayRef< uint32_t > words)

Definition at line 7006 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLMixOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLMixOp > ( ArrayRef< uint32_t > words)

Definition at line 7011 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLPowOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLPowOp > ( ArrayRef< uint32_t > words)

Definition at line 7016 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLPrintfOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLPrintfOp > ( ArrayRef< uint32_t > words)

Definition at line 7021 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLRintOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLRintOp > ( ArrayRef< uint32_t > words)

Definition at line 7075 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLRoundOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLRoundOp > ( ArrayRef< uint32_t > words)

Definition at line 7080 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLRsqrtOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLRsqrtOp > ( ArrayRef< uint32_t > words)

Definition at line 7085 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLSAbsOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLSAbsOp > ( ArrayRef< uint32_t > words)

Definition at line 7090 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLSinhOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLSinhOp > ( ArrayRef< uint32_t > words)

Definition at line 7110 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLSinOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLSinOp > ( ArrayRef< uint32_t > words)

Definition at line 7105 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLSMaxOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLSMaxOp > ( ArrayRef< uint32_t > words)

Definition at line 7095 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLSMinOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLSMinOp > ( ArrayRef< uint32_t > words)

Definition at line 7100 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLSqrtOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLSqrtOp > ( ArrayRef< uint32_t > words)

Definition at line 7115 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLTanhOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLTanhOp > ( ArrayRef< uint32_t > words)

Definition at line 7125 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLTanOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLTanOp > ( ArrayRef< uint32_t > words)

Definition at line 7120 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLUMaxOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLUMaxOp > ( ArrayRef< uint32_t > words)

Definition at line 7130 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CLUMinOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CLUMinOp > ( ArrayRef< uint32_t > words)

Definition at line 7135 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CompositeConstructOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CompositeConstructOp > ( ArrayRef< uint32_t > words)

Definition at line 7140 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CompositeExtractOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CompositeExtractOp > ( ArrayRef< uint32_t > words)

Definition at line 7186 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::CompositeInsertOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::CompositeInsertOp > ( ArrayRef< uint32_t > words)

Definition at line 7240 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ControlBarrierOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ControlBarrierOp > ( ArrayRef< uint32_t > words)

Definition at line 7302 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ConvertFToSOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ConvertFToSOp > ( ArrayRef< uint32_t > words)

Definition at line 7329 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ConvertFToUOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ConvertFToUOp > ( ArrayRef< uint32_t > words)

Definition at line 7334 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ConvertPtrToUOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ConvertPtrToUOp > ( ArrayRef< uint32_t > words)

Definition at line 7339 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ConvertSToFOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ConvertSToFOp > ( ArrayRef< uint32_t > words)

Definition at line 7344 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ConvertUToFOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ConvertUToFOp > ( ArrayRef< uint32_t > words)

Definition at line 7349 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ConvertUToPtrOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ConvertUToPtrOp > ( ArrayRef< uint32_t > words)

Definition at line 7354 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::DotOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::DotOp > ( ArrayRef< uint32_t > words)

Definition at line 7359 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::EmitVertexOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::EmitVertexOp > ( ArrayRef< uint32_t > words)

Definition at line 7479 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::EndPrimitiveOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::EndPrimitiveOp > ( ArrayRef< uint32_t > words)

Definition at line 7484 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::EXTAtomicFAddOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::EXTAtomicFAddOp > ( ArrayRef< uint32_t > words)

Definition at line 7364 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::EXTEmitMeshTasksOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::EXTEmitMeshTasksOp > ( ArrayRef< uint32_t > words)

Definition at line 7425 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::EXTSetMeshOutputsOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::EXTSetMeshOutputsOp > ( ArrayRef< uint32_t > words)

Definition at line 7474 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::FAddOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::FAddOp > ( ArrayRef< uint32_t > words)

Definition at line 7489 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::FConvertOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::FConvertOp > ( ArrayRef< uint32_t > words)

Definition at line 7494 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::FDivOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::FDivOp > ( ArrayRef< uint32_t > words)

Definition at line 7499 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::FModOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::FModOp > ( ArrayRef< uint32_t > words)

Definition at line 7504 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::FMulOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::FMulOp > ( ArrayRef< uint32_t > words)

Definition at line 7509 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::FNegateOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::FNegateOp > ( ArrayRef< uint32_t > words)

Definition at line 7514 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::FOrdEqualOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::FOrdEqualOp > ( ArrayRef< uint32_t > words)

Definition at line 7519 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::FOrdGreaterThanEqualOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::FOrdGreaterThanEqualOp > ( ArrayRef< uint32_t > words)

Definition at line 7524 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::FOrdGreaterThanOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::FOrdGreaterThanOp > ( ArrayRef< uint32_t > words)

Definition at line 7529 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::FOrdLessThanEqualOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::FOrdLessThanEqualOp > ( ArrayRef< uint32_t > words)

Definition at line 7534 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::FOrdLessThanOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::FOrdLessThanOp > ( ArrayRef< uint32_t > words)

Definition at line 7539 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::FOrdNotEqualOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::FOrdNotEqualOp > ( ArrayRef< uint32_t > words)

Definition at line 7544 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::FRemOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::FRemOp > ( ArrayRef< uint32_t > words)

Definition at line 7549 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::FSubOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::FSubOp > ( ArrayRef< uint32_t > words)

Definition at line 7554 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::FUnordEqualOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::FUnordEqualOp > ( ArrayRef< uint32_t > words)

Definition at line 7559 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::FUnordGreaterThanEqualOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::FUnordGreaterThanEqualOp > ( ArrayRef< uint32_t > words)

Definition at line 7564 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::FUnordGreaterThanOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::FUnordGreaterThanOp > ( ArrayRef< uint32_t > words)

Definition at line 7569 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::FUnordLessThanEqualOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::FUnordLessThanEqualOp > ( ArrayRef< uint32_t > words)

Definition at line 7574 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::FUnordLessThanOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::FUnordLessThanOp > ( ArrayRef< uint32_t > words)

Definition at line 7579 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::FUnordNotEqualOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::FUnordNotEqualOp > ( ArrayRef< uint32_t > words)

Definition at line 7584 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GenericCastToPtrOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GenericCastToPtrOp > ( ArrayRef< uint32_t > words)

Definition at line 7854 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLAcoshOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLAcoshOp > ( ArrayRef< uint32_t > words)

Definition at line 7594 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLAcosOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLAcosOp > ( ArrayRef< uint32_t > words)

Definition at line 7589 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLAsinhOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLAsinhOp > ( ArrayRef< uint32_t > words)

Definition at line 7604 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLAsinOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLAsinOp > ( ArrayRef< uint32_t > words)

Definition at line 7599 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLAtanhOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLAtanhOp > ( ArrayRef< uint32_t > words)

Definition at line 7614 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLAtanOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLAtanOp > ( ArrayRef< uint32_t > words)

Definition at line 7609 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLCeilOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLCeilOp > ( ArrayRef< uint32_t > words)

Definition at line 7619 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLCoshOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLCoshOp > ( ArrayRef< uint32_t > words)

Definition at line 7629 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLCosOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLCosOp > ( ArrayRef< uint32_t > words)

Definition at line 7624 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLCrossOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLCrossOp > ( ArrayRef< uint32_t > words)

Definition at line 7634 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLDistanceOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLDistanceOp > ( ArrayRef< uint32_t > words)

Definition at line 7639 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLExp2Op >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLExp2Op > ( ArrayRef< uint32_t > words)

Definition at line 7644 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLExpOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLExpOp > ( ArrayRef< uint32_t > words)

Definition at line 7649 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLFAbsOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLFAbsOp > ( ArrayRef< uint32_t > words)

Definition at line 7654 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLFClampOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLFClampOp > ( ArrayRef< uint32_t > words)

Definition at line 7659 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLFindILsbOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLFindILsbOp > ( ArrayRef< uint32_t > words)

Definition at line 7684 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLFindSMsbOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLFindSMsbOp > ( ArrayRef< uint32_t > words)

Definition at line 7689 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLFindUMsbOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLFindUMsbOp > ( ArrayRef< uint32_t > words)

Definition at line 7694 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLFloorOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLFloorOp > ( ArrayRef< uint32_t > words)

Definition at line 7699 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLFmaOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLFmaOp > ( ArrayRef< uint32_t > words)

Definition at line 7704 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLFMaxOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLFMaxOp > ( ArrayRef< uint32_t > words)

Definition at line 7664 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLFMinOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLFMinOp > ( ArrayRef< uint32_t > words)

Definition at line 7669 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLFMixOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLFMixOp > ( ArrayRef< uint32_t > words)

Definition at line 7674 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLFractOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLFractOp > ( ArrayRef< uint32_t > words)

Definition at line 7709 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLFrexpStructOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLFrexpStructOp > ( ArrayRef< uint32_t > words)

Definition at line 7714 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLFSignOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLFSignOp > ( ArrayRef< uint32_t > words)

Definition at line 7679 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLInverseSqrtOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLInverseSqrtOp > ( ArrayRef< uint32_t > words)

Definition at line 7719 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLLdexpOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLLdexpOp > ( ArrayRef< uint32_t > words)

Definition at line 7724 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLLengthOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLLengthOp > ( ArrayRef< uint32_t > words)

Definition at line 7729 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLLog2Op >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLLog2Op > ( ArrayRef< uint32_t > words)

Definition at line 7734 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLLogOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLLogOp > ( ArrayRef< uint32_t > words)

Definition at line 7739 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLNormalizeOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLNormalizeOp > ( ArrayRef< uint32_t > words)

Definition at line 7744 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLPackHalf2x16Op >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLPackHalf2x16Op > ( ArrayRef< uint32_t > words)

Definition at line 7749 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLPackSnorm4x8Op >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLPackSnorm4x8Op > ( ArrayRef< uint32_t > words)

Definition at line 7754 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLPowOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLPowOp > ( ArrayRef< uint32_t > words)

Definition at line 7759 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLReflectOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLReflectOp > ( ArrayRef< uint32_t > words)

Definition at line 7764 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLRoundEvenOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLRoundEvenOp > ( ArrayRef< uint32_t > words)

Definition at line 7769 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLRoundOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLRoundOp > ( ArrayRef< uint32_t > words)

Definition at line 7774 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLSAbsOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLSAbsOp > ( ArrayRef< uint32_t > words)

Definition at line 7779 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLSClampOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLSClampOp > ( ArrayRef< uint32_t > words)

Definition at line 7784 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLSinhOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLSinhOp > ( ArrayRef< uint32_t > words)

Definition at line 7809 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLSinOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLSinOp > ( ArrayRef< uint32_t > words)

Definition at line 7804 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLSMaxOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLSMaxOp > ( ArrayRef< uint32_t > words)

Definition at line 7789 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLSMinOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLSMinOp > ( ArrayRef< uint32_t > words)

Definition at line 7794 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLSqrtOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLSqrtOp > ( ArrayRef< uint32_t > words)

Definition at line 7814 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLSSignOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLSSignOp > ( ArrayRef< uint32_t > words)

Definition at line 7799 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLTanhOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLTanhOp > ( ArrayRef< uint32_t > words)

Definition at line 7824 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLTanOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLTanOp > ( ArrayRef< uint32_t > words)

Definition at line 7819 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLUClampOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLUClampOp > ( ArrayRef< uint32_t > words)

Definition at line 7829 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLUMaxOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLUMaxOp > ( ArrayRef< uint32_t > words)

Definition at line 7834 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLUMinOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLUMinOp > ( ArrayRef< uint32_t > words)

Definition at line 7839 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLUnpackHalf2x16Op >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLUnpackHalf2x16Op > ( ArrayRef< uint32_t > words)

Definition at line 7844 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GLUnpackSnorm4x8Op >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GLUnpackSnorm4x8Op > ( ArrayRef< uint32_t > words)

Definition at line 7849 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupBroadcastOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupBroadcastOp > ( ArrayRef< uint32_t > words)

Definition at line 7859 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupFAddOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupFAddOp > ( ArrayRef< uint32_t > words)

Definition at line 7917 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupFMaxOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupFMaxOp > ( ArrayRef< uint32_t > words)

Definition at line 7970 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupFMinOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupFMinOp > ( ArrayRef< uint32_t > words)

Definition at line 8023 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupFMulKHROp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupFMulKHROp > ( ArrayRef< uint32_t > words)

Definition at line 8076 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupIAddOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupIAddOp > ( ArrayRef< uint32_t > words)

Definition at line 8129 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupIMulKHROp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupIMulKHROp > ( ArrayRef< uint32_t > words)

Definition at line 8182 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformAllEqualOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformAllEqualOp > ( ArrayRef< uint32_t > words)

Definition at line 8235 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformAllOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformAllOp > ( ArrayRef< uint32_t > words)

Definition at line 8285 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformAnyOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformAnyOp > ( ArrayRef< uint32_t > words)

Definition at line 8335 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformBallotBitCountOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformBallotBitCountOp > ( ArrayRef< uint32_t > words)

Definition at line 8385 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformBallotFindLSBOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformBallotFindLSBOp > ( ArrayRef< uint32_t > words)

Definition at line 8438 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformBallotFindMSBOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformBallotFindMSBOp > ( ArrayRef< uint32_t > words)

Definition at line 8488 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformBallotOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformBallotOp > ( ArrayRef< uint32_t > words)

Definition at line 8538 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformBitwiseAndOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformBitwiseAndOp > ( ArrayRef< uint32_t > words)

Definition at line 8588 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformBitwiseOrOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformBitwiseOrOp > ( ArrayRef< uint32_t > words)

Definition at line 8648 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformBitwiseXorOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformBitwiseXorOp > ( ArrayRef< uint32_t > words)

Definition at line 8708 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformBroadcastOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformBroadcastOp > ( ArrayRef< uint32_t > words)

Definition at line 8768 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformElectOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformElectOp > ( ArrayRef< uint32_t > words)

Definition at line 8826 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformFAddOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformFAddOp > ( ArrayRef< uint32_t > words)

Definition at line 8868 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformFMaxOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformFMaxOp > ( ArrayRef< uint32_t > words)

Definition at line 8928 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformFMinOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformFMinOp > ( ArrayRef< uint32_t > words)

Definition at line 8988 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformFMulOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformFMulOp > ( ArrayRef< uint32_t > words)

Definition at line 9048 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformIAddOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformIAddOp > ( ArrayRef< uint32_t > words)

Definition at line 9108 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformIMulOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformIMulOp > ( ArrayRef< uint32_t > words)

Definition at line 9168 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformLogicalAndOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformLogicalAndOp > ( ArrayRef< uint32_t > words)

Definition at line 9228 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformLogicalOrOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformLogicalOrOp > ( ArrayRef< uint32_t > words)

Definition at line 9288 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformLogicalXorOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformLogicalXorOp > ( ArrayRef< uint32_t > words)

Definition at line 9348 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformQuadSwapOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformQuadSwapOp > ( ArrayRef< uint32_t > words)

Definition at line 9408 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformRotateKHROp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformRotateKHROp > ( ArrayRef< uint32_t > words)

Definition at line 9466 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformShuffleDownOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformShuffleDownOp > ( ArrayRef< uint32_t > words)

Definition at line 9651 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformShuffleOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformShuffleOp > ( ArrayRef< uint32_t > words)

Definition at line 9709 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformShuffleUpOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformShuffleUpOp > ( ArrayRef< uint32_t > words)

Definition at line 9767 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformShuffleXorOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformShuffleXorOp > ( ArrayRef< uint32_t > words)

Definition at line 9825 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformSMaxOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformSMaxOp > ( ArrayRef< uint32_t > words)

Definition at line 9531 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformSMinOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformSMinOp > ( ArrayRef< uint32_t > words)

Definition at line 9591 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformUMaxOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformUMaxOp > ( ArrayRef< uint32_t > words)

Definition at line 9883 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupNonUniformUMinOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupNonUniformUMinOp > ( ArrayRef< uint32_t > words)

Definition at line 9943 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupSMaxOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupSMaxOp > ( ArrayRef< uint32_t > words)

Definition at line 10003 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupSMinOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupSMinOp > ( ArrayRef< uint32_t > words)

Definition at line 10056 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupUMaxOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupUMaxOp > ( ArrayRef< uint32_t > words)

Definition at line 10109 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::GroupUMinOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::GroupUMinOp > ( ArrayRef< uint32_t > words)

Definition at line 10162 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::IAddCarryOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::IAddCarryOp > ( ArrayRef< uint32_t > words)

Definition at line 10215 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::IAddOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::IAddOp > ( ArrayRef< uint32_t > words)

Definition at line 10220 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::IEqualOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::IEqualOp > ( ArrayRef< uint32_t > words)

Definition at line 10225 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ImageDrefGatherOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ImageDrefGatherOp > ( ArrayRef< uint32_t > words)

Definition at line 10329 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ImageFetchOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ImageFetchOp > ( ArrayRef< uint32_t > words)

Definition at line 10402 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ImageOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ImageOp > ( ArrayRef< uint32_t > words)

Definition at line 10467 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ImageQuerySizeOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ImageQuerySizeOp > ( ArrayRef< uint32_t > words)

Definition at line 10472 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ImageReadOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ImageReadOp > ( ArrayRef< uint32_t > words)

Definition at line 10477 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ImageSampleExplicitLodOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ImageSampleExplicitLodOp > ( ArrayRef< uint32_t > words)

Definition at line 10542 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ImageSampleImplicitLodOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ImageSampleImplicitLodOp > ( ArrayRef< uint32_t > words)

Definition at line 10607 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ImageSampleProjDrefImplicitLodOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ImageSampleProjDrefImplicitLodOp > ( ArrayRef< uint32_t > words)

Definition at line 10672 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ImageWriteOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ImageWriteOp > ( ArrayRef< uint32_t > words)

Definition at line 10745 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::IMulOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::IMulOp > ( ArrayRef< uint32_t > words)

Definition at line 10230 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::InBoundsPtrAccessChainOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::InBoundsPtrAccessChainOp > ( ArrayRef< uint32_t > words)

Definition at line 10797 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::INotEqualOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::INotEqualOp > ( ArrayRef< uint32_t > words)

Definition at line 10314 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::INTELControlBarrierArriveOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::INTELControlBarrierArriveOp > ( ArrayRef< uint32_t > words)

Definition at line 10235 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::INTELControlBarrierWaitOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::INTELControlBarrierWaitOp > ( ArrayRef< uint32_t > words)

Definition at line 10262 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::INTELConvertBF16ToFOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::INTELConvertBF16ToFOp > ( ArrayRef< uint32_t > words)

Definition at line 10289 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::INTELConvertFToBF16Op >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::INTELConvertFToBF16Op > ( ArrayRef< uint32_t > words)

Definition at line 10294 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::INTELRoundFToTF32Op >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::INTELRoundFToTF32Op > ( ArrayRef< uint32_t > words)

Definition at line 10299 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::INTELSubgroupBlockReadOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::INTELSubgroupBlockReadOp > ( ArrayRef< uint32_t > words)

Definition at line 10304 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::INTELSubgroupBlockWriteOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::INTELSubgroupBlockWriteOp > ( ArrayRef< uint32_t > words)

Definition at line 10309 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::IsFiniteOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::IsFiniteOp > ( ArrayRef< uint32_t > words)

Definition at line 10859 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::IsInfOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::IsInfOp > ( ArrayRef< uint32_t > words)

Definition at line 10864 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::IsNanOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::IsNanOp > ( ArrayRef< uint32_t > words)

Definition at line 10869 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ISubBorrowOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ISubBorrowOp > ( ArrayRef< uint32_t > words)

Definition at line 10319 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ISubOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ISubOp > ( ArrayRef< uint32_t > words)

Definition at line 10324 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::KHRAssumeTrueOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::KHRAssumeTrueOp > ( ArrayRef< uint32_t > words)

Definition at line 10874 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::KHRCooperativeMatrixLengthOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::KHRCooperativeMatrixLengthOp > ( ArrayRef< uint32_t > words)

Definition at line 10879 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::KHRCooperativeMatrixLoadOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::KHRCooperativeMatrixLoadOp > ( ArrayRef< uint32_t > words)

Definition at line 10921 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::KHRCooperativeMatrixMulAddOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::KHRCooperativeMatrixMulAddOp > ( ArrayRef< uint32_t > words)

Definition at line 10985 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::KHRCooperativeMatrixStoreOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::KHRCooperativeMatrixStoreOp > ( ArrayRef< uint32_t > words)

Definition at line 11051 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::KHRSubgroupBallotOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::KHRSubgroupBallotOp > ( ArrayRef< uint32_t > words)

Definition at line 11102 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::KillOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::KillOp > ( ArrayRef< uint32_t > words)

Definition at line 11107 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::LoadOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::LoadOp > ( ArrayRef< uint32_t > words)

Definition at line 11112 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::LogicalAndOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::LogicalAndOp > ( ArrayRef< uint32_t > words)

Definition at line 11165 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::LogicalEqualOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::LogicalEqualOp > ( ArrayRef< uint32_t > words)

Definition at line 11170 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::LogicalNotEqualOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::LogicalNotEqualOp > ( ArrayRef< uint32_t > words)

Definition at line 11175 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::LogicalNotOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::LogicalNotOp > ( ArrayRef< uint32_t > words)

Definition at line 11180 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::LogicalOrOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::LogicalOrOp > ( ArrayRef< uint32_t > words)

Definition at line 11185 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::MatrixTimesMatrixOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::MatrixTimesMatrixOp > ( ArrayRef< uint32_t > words)

Definition at line 11190 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::MatrixTimesScalarOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::MatrixTimesScalarOp > ( ArrayRef< uint32_t > words)

Definition at line 11195 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::MatrixTimesVectorOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::MatrixTimesVectorOp > ( ArrayRef< uint32_t > words)

Definition at line 11200 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::MemoryBarrierOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::MemoryBarrierOp > ( ArrayRef< uint32_t > words)

Definition at line 11205 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::NotOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::NotOp > ( ArrayRef< uint32_t > words)

Definition at line 11229 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::OrderedOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::OrderedOp > ( ArrayRef< uint32_t > words)

Definition at line 11234 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::PtrAccessChainOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::PtrAccessChainOp > ( ArrayRef< uint32_t > words)

Definition at line 11239 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::PtrCastToGenericOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::PtrCastToGenericOp > ( ArrayRef< uint32_t > words)

Definition at line 11301 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ReturnOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ReturnOp > ( ArrayRef< uint32_t > words)

Definition at line 11306 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ReturnValueOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ReturnValueOp > ( ArrayRef< uint32_t > words)

Definition at line 11311 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::SConvertOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::SConvertOp > ( ArrayRef< uint32_t > words)

Definition at line 11316 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::SDivOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::SDivOp > ( ArrayRef< uint32_t > words)

Definition at line 11321 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::SDotAccSatOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::SDotAccSatOp > ( ArrayRef< uint32_t > words)

Definition at line 11326 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::SDotOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::SDotOp > ( ArrayRef< uint32_t > words)

Definition at line 11392 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::SelectOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::SelectOp > ( ArrayRef< uint32_t > words)

Definition at line 11614 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::SGreaterThanEqualOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::SGreaterThanEqualOp > ( ArrayRef< uint32_t > words)

Definition at line 11450 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::SGreaterThanOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::SGreaterThanOp > ( ArrayRef< uint32_t > words)

Definition at line 11455 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ShiftLeftLogicalOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ShiftLeftLogicalOp > ( ArrayRef< uint32_t > words)

Definition at line 11619 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ShiftRightArithmeticOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ShiftRightArithmeticOp > ( ArrayRef< uint32_t > words)

Definition at line 11624 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ShiftRightLogicalOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ShiftRightLogicalOp > ( ArrayRef< uint32_t > words)

Definition at line 11629 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::SLessThanEqualOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::SLessThanEqualOp > ( ArrayRef< uint32_t > words)

Definition at line 11460 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::SLessThanOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::SLessThanOp > ( ArrayRef< uint32_t > words)

Definition at line 11465 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::SModOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::SModOp > ( ArrayRef< uint32_t > words)

Definition at line 11470 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::SMulExtendedOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::SMulExtendedOp > ( ArrayRef< uint32_t > words)

Definition at line 11475 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::SNegateOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::SNegateOp > ( ArrayRef< uint32_t > words)

Definition at line 11480 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::SRemOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::SRemOp > ( ArrayRef< uint32_t > words)

Definition at line 11485 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::StoreOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::StoreOp > ( ArrayRef< uint32_t > words)

Definition at line 11634 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::SUDotAccSatOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::SUDotAccSatOp > ( ArrayRef< uint32_t > words)

Definition at line 11490 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::SUDotOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::SUDotOp > ( ArrayRef< uint32_t > words)

Definition at line 11556 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::TransposeOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::TransposeOp > ( ArrayRef< uint32_t > words)

Definition at line 11674 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::UConvertOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::UConvertOp > ( ArrayRef< uint32_t > words)

Definition at line 11679 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::UDivOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::UDivOp > ( ArrayRef< uint32_t > words)

Definition at line 11684 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::UDotAccSatOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::UDotAccSatOp > ( ArrayRef< uint32_t > words)

Definition at line 11689 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::UDotOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::UDotOp > ( ArrayRef< uint32_t > words)

Definition at line 11755 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::UGreaterThanEqualOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::UGreaterThanEqualOp > ( ArrayRef< uint32_t > words)

Definition at line 11813 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::UGreaterThanOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::UGreaterThanOp > ( ArrayRef< uint32_t > words)

Definition at line 11818 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ULessThanEqualOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ULessThanEqualOp > ( ArrayRef< uint32_t > words)

Definition at line 11823 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::ULessThanOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::ULessThanOp > ( ArrayRef< uint32_t > words)

Definition at line 11828 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::UModOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::UModOp > ( ArrayRef< uint32_t > words)

Definition at line 11833 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::UMulExtendedOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::UMulExtendedOp > ( ArrayRef< uint32_t > words)

Definition at line 11838 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::UnorderedOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::UnorderedOp > ( ArrayRef< uint32_t > words)

Definition at line 11843 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::UnreachableOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::UnreachableOp > ( ArrayRef< uint32_t > words)

Definition at line 11848 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::VariableOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::VariableOp > ( ArrayRef< uint32_t > words)

Definition at line 11853 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::VectorExtractDynamicOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::VectorExtractDynamicOp > ( ArrayRef< uint32_t > words)

Definition at line 11902 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::VectorInsertDynamicOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::VectorInsertDynamicOp > ( ArrayRef< uint32_t > words)

Definition at line 11907 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::VectorShuffleOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::VectorShuffleOp > ( ArrayRef< uint32_t > words)

Definition at line 11912 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::VectorTimesMatrixOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::VectorTimesMatrixOp > ( ArrayRef< uint32_t > words)

Definition at line 11974 of file DeserializeOps.cpp.

◆ Deserializer::processOp<::mlir::spirv::VectorTimesScalarOp >()

template<>
LogicalResult mlir::spirv::Deserializer::processOp<::mlir::spirv::VectorTimesScalarOp > ( ArrayRef< uint32_t > words)

Definition at line 11979 of file DeserializeOps.cpp.

◆ encodeInstructionInto()

void mlir::spirv::encodeInstructionInto ( SmallVectorImpl< uint32_t > & binary,
spirv::Opcode op,
ArrayRef< uint32_t > operands )

Encodes an SPIR-V instruction with the given opcode and operands into the given binary vector.

Definition at line 113 of file Serializer.cpp.

References getPrefixedOpcode().

Referenced by Serializer::processOp<::mlir::spirv::AtomicOrOp >().

◆ encodeStringLiteralInto()

void mlir::spirv::encodeStringLiteralInto ( SmallVectorImpl< uint32_t > & binary,
StringRef literal )

Encodes an SPIR-V literal string into the given binary vector.

Definition at line 69 of file SPIRVBinaryUtils.cpp.

References kMaxLiteralWordCount.

◆ extractValueFromConstOp()

LogicalResult mlir::spirv::extractValueFromConstOp ( Operation * op,
int32_t & value )

Definition at line 49 of file SPIRVOps.cpp.

References success().

Referenced by getElementPtrType(), and verifyGroupNonUniformArithmeticOp().

◆ getAddressingModel()

spirv::AddressingModel mlir::spirv::getAddressingModel ( spirv::TargetEnvAttr targetAttr,
bool use64bitAddress )

Returns addressing model selected based on target environment.

Definition at line 204 of file TargetAndABI.cpp.

References mlir::spirv::TargetEnvAttr::getCapabilities().

◆ getBitWidth()

unsigned mlir::spirv::getBitWidth ( Type type)
inline

Returns the bit width of the type.

Definition at line 14 of file SPIRVOpUtils.h.

References mlir::Type::getIntOrFloatBitWidth(), and mlir::Type::isIntOrFloat().

Referenced by verifyIntegerDotProduct().

◆ getBuiltinVariableValue()

Value mlir::spirv::getBuiltinVariableValue ( Operation * op,
BuiltIn builtin,
Type integerType,
OpBuilder & builder,
StringRef prefix = "__builtin__",
StringRef suffix = "__" )

Returns the value for the given builtin variable.

This function gets or inserts the global variable associated for the builtin within the nearest symbol table enclosing op. Returns null Value on error.

The global name being generated will be mangled using preffix and suffix.

References indices.

◆ getComputeVectorSize()

int mlir::spirv::getComputeVectorSize ( int64_t size)

◆ getDecorationName()

std::string mlir::spirv::getDecorationName ( StringRef attrName)
static

Definition at line 263 of file Serializer.cpp.

◆ getDecorationString()

std::string mlir::spirv::getDecorationString ( spirv::Decoration decor)
inline

Converts a SPIR-V Decoration enum value to its snake_case string representation for use in MLIR attributes.

Definition at line 29 of file Pattern.h.

Referenced by bindingName(), and descriptorSetName().

◆ getDefaultResourceLimits()

spirv::ResourceLimitsAttr mlir::spirv::getDefaultResourceLimits ( MLIRContext * context)

Returns a default resource limits attribute that uses numbers from "Table 46. Required Limits" of the Vulkan spec.

Definition at line 152 of file TargetAndABI.cpp.

References b.

Referenced by getDefaultTargetEnv().

◆ getDefaultTargetEnv()

spirv::TargetEnvAttr mlir::spirv::getDefaultTargetEnv ( MLIRContext * context)

Returns the default target environment: SPIR-V 1.0 with Shader capability and no extra extensions.

Definition at line 170 of file TargetAndABI.cpp.

References mlir::spirv::TargetEnvAttr::get(), mlir::spirv::VerCapExtAttr::get(), getDefaultResourceLimits(), and mlir::spirv::TargetEnvAttr::kUnknownDeviceID.

Referenced by lookupTargetEnvOrDefault().

◆ getDirectImpliedCapabilities()

ArrayRef< Capability > mlir::spirv::getDirectImpliedCapabilities ( Capability cap)

Returns the directly implied capabilities for the given capability.

These capabilities are implicitly declared by the given capability.

◆ getDotProductMaxVersion()

std::optional< spirv::Version > mlir::spirv::getDotProductMaxVersion ( )
static

Definition at line 32 of file DotProductOps.cpp.

◆ getDotProductMinVersion()

std::optional< spirv::Version > mlir::spirv::getDotProductMinVersion ( )
static

Definition at line 28 of file DotProductOps.cpp.

◆ getElementPtr()

Value mlir::spirv::getElementPtr ( const SPIRVTypeConverter & typeConverter,
MemRefType baseType,
Value basePtr,
ValueRange indices,
Location loc,
OpBuilder & builder )

Performs the index computation to get to the element at indices of the memory pointed to by basePtr, using the layout map of baseType.

Returns null if index computation cannot be performed.

Definition at line 1417 of file SPIRVConversion.cpp.

References mlir::SPIRVTypeConverter::allows(), getOpenCLElementPtr(), getVulkanElementPtr(), and indices.

◆ getElementPtrType()

Type mlir::spirv::getElementPtrType ( Type type,
ValueRange indices,
Location baseLoc )
static

◆ getEntryPointABIAttr()

spirv::EntryPointABIAttr mlir::spirv::getEntryPointABIAttr ( MLIRContext * context,
ArrayRef< int32_t > workgroupSize = {},
std::optional< int > subgroupSize = {},
std::optional< int > targetWidth = {} )

Gets the EntryPointABIAttr given its fields.

targetWidth is used by several execution modes. It is the element width of floating-point operations. Refer to Execution Mode in SPIR-V specification. https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#_execution_mode

Definition at line 119 of file TargetAndABI.cpp.

References mlir::detail::DenseArrayAttrImpl< int32_t >::get().

◆ getEntryPointABIAttrName()

StringRef mlir::spirv::getEntryPointABIAttrName ( )

Returns the attribute name for specifying entry point information.

Definition at line 117 of file TargetAndABI.cpp.

Referenced by lookupEntryPointABI(), lowerAsEntryFunction(), and lowerEntryPointABIAttr().

◆ getExecutionModel()

FailureOr< spirv::ExecutionModel > mlir::spirv::getExecutionModel ( spirv::TargetEnvAttr targetAttr)

Returns execution model selected based on target environment.

Returns failure if it cannot be selected.

Definition at line 221 of file TargetAndABI.cpp.

References mlir::spirv::TargetEnvAttr::getCapabilities().

Referenced by lowerEntryPointABIAttr().

◆ getImpliedExtensions()

ArrayRef< Extension > mlir::spirv::getImpliedExtensions ( Version version)

Returns the implied extensions for the given version.

These extensions are incorporated into the current version so they are implicitly declared when targeting the given version.

Referenced by mlir::spirv::TargetEnv::TargetEnv().

◆ getIntegerDotProductCapabilities()

template<typename IntegerDotProductOpTy>
SmallVector< ArrayRef< spirv::Capability >, 1 > mlir::spirv::getIntegerDotProductCapabilities ( Operation * op)
static

◆ getIntegerDotProductExtensions()

SmallVector< ArrayRef< spirv::Extension >, 1 > mlir::spirv::getIntegerDotProductExtensions ( )
static

Definition at line 112 of file DotProductOps.cpp.

◆ getInterfaceVarABIAttr()

InterfaceVarABIAttr mlir::spirv::getInterfaceVarABIAttr ( unsigned descriptorSet,
unsigned binding,
std::optional< StorageClass > storageClass,
MLIRContext * context )

Gets the InterfaceVarABIAttr given its fields.

Referenced by getDefaultABIAttrs().

◆ getInterfaceVarABIAttrName()

StringRef mlir::spirv::getInterfaceVarABIAttrName ( )

Returns the attribute name for specifying argument ABI information.

Definition at line 95 of file TargetAndABI.cpp.

Referenced by getDefaultABIAttrs(), lowerAsEntryFunction(), and verifyRegionAttribute().

◆ getMemoryModel()

FailureOr< spirv::MemoryModel > mlir::spirv::getMemoryModel ( spirv::TargetEnvAttr targetAttr)

Returns memory model selected based on target environment.

Returns failure if it cannot be selected.

Definition at line 232 of file TargetAndABI.cpp.

References mlir::spirv::TargetEnvAttr::getCapabilities().

◆ getMemorySpaceToStorageClassTarget()

std::unique_ptr< ConversionTarget > mlir::spirv::getMemorySpaceToStorageClassTarget ( MLIRContext & context)

Creates the target that populates legality of ops with MemRef types.

Definition at line 243 of file MapMemRefStorageClassPass.cpp.

References isLegalOp(), and target.

◆ getNativeVectorShape()

◆ getNativeVectorShapeImpl() [1/2]

SmallVector< int64_t > mlir::spirv::getNativeVectorShapeImpl ( vector::ReductionOp op)

Definition at line 1444 of file SPIRVConversion.cpp.

References getComputeVectorSize().

Referenced by getNativeVectorShape().

◆ getNativeVectorShapeImpl() [2/2]

SmallVector< int64_t > mlir::spirv::getNativeVectorShapeImpl ( vector::TransposeOp op)

Definition at line 1453 of file SPIRVConversion.cpp.

References getComputeVectorSize().

◆ getOpenCLElementPtr()

Value mlir::spirv::getOpenCLElementPtr ( const SPIRVTypeConverter & typeConverter,
MemRefType baseType,
Value basePtr,
ValueRange indices,
Location loc,
OpBuilder & builder )

◆ getPrefixedOpcode()

uint32_t mlir::spirv::getPrefixedOpcode ( uint32_t wordCount,
spirv::Opcode opcode )

Returns the word-count-prefixed opcode for an SPIR-V instruction.

Definition at line 64 of file SPIRVBinaryUtils.cpp.

Referenced by encodeInstructionInto().

◆ getPushConstantValue()

Value mlir::spirv::getPushConstantValue ( Operation * op,
unsigned elementCount,
unsigned offset,
Type integerType,
OpBuilder & builder )

Gets the value at the given offset of the push constant storage with a total of elementCount integerType integers.

A global variable will be created in the nearest symbol table enclosing op for the push constant storage if not existing. Load ops will be created via the given builder to load values from the push constant. Returns null Value on error.

Definition at line 1300 of file SPIRVConversion.cpp.

References mlir::Operation::emitError(), mlir::Region::front(), mlir::Builder::getI32IntegerAttr(), mlir::Operation::getLoc(), mlir::SymbolTable::getNearestSymbolTable(), mlir::Operation::getParentOp(), and mlir::Operation::getRegion().

◆ getRecursiveImpliedCapabilities()

SmallVector< Capability, 0 > mlir::spirv::getRecursiveImpliedCapabilities ( Capability cap)

Returns the recursively implied capabilities for the given capability.

These capabilities are implicitly declared by the given capability. Compared to the above function, this function collects implied capabilities recursively: if an implicitly declared capability implicitly declares a third one, the third one will also be returned.

◆ getStrArrayAttrForEnumList()

template<typename Ty>
ArrayAttr mlir::spirv::getStrArrayAttrForEnumList ( Builder & builder,
ArrayRef< Ty > enumValues,
function_ref< StringRef(Ty)> stringifyFn )

Definition at line 32 of file SPIRVParsingUtils.h.

References ArrayAttr(), and mlir::Builder::getStrArrayAttr().

◆ getTargetEnvAttrName()

StringRef mlir::spirv::getTargetEnvAttrName ( )

Returns the attribute name for specifying SPIR-V target environment.

Definition at line 168 of file TargetAndABI.cpp.

Referenced by lookupTargetEnv().

◆ getUnaryOpResultType()

Type mlir::spirv::getUnaryOpResultType ( Type operandType)
static

Result of a logical op must be a scalar or vector of boolean type.

Definition at line 53 of file SPIRVOpDefinition.cpp.

References mlir::Type::getContext(), and mlir::Builder::getIntegerType().

◆ getValueType()

Type mlir::spirv::getValueType ( Attribute attr)
static

Definition at line 1280 of file Serializer.cpp.

References mlir::spirv::ArrayType::get(), and getValueType().

Referenced by getValueType().

◆ getVulkanElementPtr()

Value mlir::spirv::getVulkanElementPtr ( const SPIRVTypeConverter & typeConverter,
MemRefType baseType,
Value basePtr,
ValueRange indices,
Location loc,
OpBuilder & builder )

Definition at line 1351 of file SPIRVConversion.cpp.

References mlir::SPIRVTypeConverter::getIndexType(), indices, and linearizeIndex().

Referenced by getElementPtr().

◆ hash_value() [1/2]

llvm::hash_code mlir::spirv::hash_value ( const StructType::MemberDecorationInfo & memberDecorationInfo)

◆ hash_value() [2/2]

llvm::hash_code mlir::spirv::hash_value ( const StructType::StructDecorationInfo & structDecorationInfo)

◆ hasOneBranchOpTo()

bool mlir::spirv::hasOneBranchOpTo ( Block & srcBlock,
Block & dstBlock )
static

Returns true if the given srcBlock contains only one spirv.Branch to the given dstBlock.

Definition at line 342 of file ControlFlowOps.cpp.

References mlir::Block::back().

◆ hasOtherMerge()

bool mlir::spirv::hasOtherMerge ( Region & region)
static

Returns true if a spirv.mlir.merge op outside the merge block.

Definition at line 357 of file ControlFlowOps.cpp.

References mlir::Region::empty(), and mlir::Region::getOps().

◆ isDirectInModuleLikeOp()

bool mlir::spirv::isDirectInModuleLikeOp ( Operation * op)
static

Returns true if the given op is an module-like op that maintains a symbol table.

Definition at line 48 of file SPIRVOpDefinition.cpp.

References mlir::Operation::hasTrait().

◆ isMergeBlock()

bool mlir::spirv::isMergeBlock ( Block & block)
static

Returns true if the given block only contains one spirv.mlir.merge op.

Definition at line 352 of file ControlFlowOps.cpp.

References mlir::Block::front().

◆ isNestedInFunctionOpInterface()

bool mlir::spirv::isNestedInFunctionOpInterface ( Operation * op)
static

Returns true if the given op is a function-like op or nested in a function-like op without a module-like op in the middle.

Definition at line 24 of file SPIRVOpDefinition.cpp.

References mlir::Operation::getParentOp(), mlir::Operation::hasTrait(), and isNestedInFunctionOpInterface().

Referenced by isNestedInFunctionOpInterface().

◆ isNestedInGraphARMOpInterface()

bool mlir::spirv::isNestedInGraphARMOpInterface ( Operation * op)
static

Returns true if the given op is a GraphARM op or nested in a GraphARM op without a module-like op in the middle.

Definition at line 36 of file SPIRVOpDefinition.cpp.

References mlir::Operation::getParentOp(), mlir::Operation::hasTrait(), and isNestedInGraphARMOpInterface().

Referenced by isNestedInGraphARMOpInterface().

◆ linearizeIndex()

Value mlir::spirv::linearizeIndex ( ValueRange indices,
ArrayRef< int64_t > strides,
int64_t offset,
Type integerType,
Location loc,
OpBuilder & builder )

Generates IR to perform index linearization with the given indices and their corresponding strides, adding an initial offset.

Definition at line 1326 of file SPIRVConversion.cpp.

References mlir::OpBuilder::createOrFold(), and indices.

Referenced by getOpenCLElementPtr(), and getVulkanElementPtr().

◆ lookupEntryPointABI()

spirv::EntryPointABIAttr mlir::spirv::lookupEntryPointABI ( Operation * op)

Queries the entry point ABI on the nearest function-like op containing the given op.

Returns null attribute if not found.

Definition at line 131 of file TargetAndABI.cpp.

References mlir::Operation::getAttrOfType(), getEntryPointABIAttrName(), and mlir::Operation::getParentOp().

Referenced by lookupLocalWorkGroupSize().

◆ lookupLocalWorkGroupSize()

DenseI32ArrayAttr mlir::spirv::lookupLocalWorkGroupSize ( Operation * op)

Queries the local workgroup size from entry point ABI on the nearest function-like op containing the given op.

Returns null attribute if not found.

Definition at line 144 of file TargetAndABI.cpp.

References lookupEntryPointABI().

◆ lookupTargetEnv()

spirv::TargetEnvAttr mlir::spirv::lookupTargetEnv ( Operation * op)

Queries the target environment recursively from enclosing symbol table ops containing the given op.

Definition at line 180 of file TargetAndABI.cpp.

References mlir::Operation::getAttrOfType(), mlir::SymbolTable::getNearestSymbolTable(), mlir::Operation::getParentOp(), and getTargetEnvAttrName().

Referenced by getInterfaceVariables(), lookupTargetEnvOrDefault(), and lowerEntryPointABIAttr().

◆ lookupTargetEnvOrDefault()

spirv::TargetEnvAttr mlir::spirv::lookupTargetEnvOrDefault ( Operation * op)

Queries the target environment recursively from enclosing symbol table ops containing the given op or returns the default target environment as returned by getDefaultTargetEnv() if not provided.

Definition at line 196 of file TargetAndABI.cpp.

References mlir::Operation::getContext(), getDefaultTargetEnv(), and lookupTargetEnv().

◆ mapMemorySpaceToOpenCLStorageClass()

std::optional< spirv::StorageClass > mlir::spirv::mapMemorySpaceToOpenCLStorageClass ( Attribute memorySpaceAttr)

Maps MemRef memory spaces to storage classes for OpenCL-flavored SPIR-V using the default rule.

Returns std::nullopt if the memory space is unknown.

Definition at line 120 of file MapMemRefStorageClassPass.cpp.

References OPENCL_STORAGE_SPACE_MAP_LIST, and STORAGE_SPACE_MAP_FN.

◆ mapMemorySpaceToVulkanStorageClass()

std::optional< spirv::StorageClass > mlir::spirv::mapMemorySpaceToVulkanStorageClass ( Attribute memorySpaceAttr)

Maps MemRef memory spaces to storage classes for Vulkan-flavored SPIR-V using the default rule.

Returns std::nullopt if the memory space is unknown.

Definition at line 66 of file MapMemRefStorageClassPass.cpp.

References STORAGE_SPACE_MAP_FN, and VULKAN_STORAGE_SPACE_MAP_LIST.

◆ mapOpenCLStorageClassToMemorySpace()

std::optional< unsigned > mlir::spirv::mapOpenCLStorageClassToMemorySpace ( spirv::StorageClass storageClass)

Maps storage classes for OpenCL-flavored SPIR-V to MemRef memory spaces using the default rule.

Returns std::nullopt if the storage class is unsupported.

Definition at line 147 of file MapMemRefStorageClassPass.cpp.

References OPENCL_STORAGE_SPACE_MAP_LIST, and STORAGE_SPACE_MAP_FN.

◆ mapVulkanStorageClassToMemorySpace()

std::optional< unsigned > mlir::spirv::mapVulkanStorageClassToMemorySpace ( spirv::StorageClass storageClass)

Maps storage classes for Vulkan-flavored SPIR-V to MemRef memory spaces using the default rule.

Returns std::nullopt if the storage class is unsupported.

Definition at line 93 of file MapMemRefStorageClassPass.cpp.

References STORAGE_SPACE_MAP_FN, and VULKAN_STORAGE_SPACE_MAP_LIST.

◆ needsInterfaceVarABIAttrs()

bool mlir::spirv::needsInterfaceVarABIAttrs ( spirv::TargetEnvAttr targetAttr)

Returns whether the given SPIR-V target (described by TargetEnvAttr) needs ABI attributes for interface variables (spirv.interface_var_abi).

Definition at line 107 of file TargetAndABI.cpp.

References mlir::spirv::TargetEnvAttr::getCapabilities().

Referenced by getDefaultABIAttrs().

◆ parseControlAttribute()

template<typename EnumAttrClass, typename EnumClass>
ParseResult mlir::spirv::parseControlAttribute ( OpAsmParser & parser,
OperationState & state,
StringRef attrName = spirv::attributeName<EnumClass>() )
static

◆ parseEnumKeywordAttr() [1/2]

template<typename EnumAttrClass, typename EnumClass = typename EnumAttrClass::ValueType>
ParseResult mlir::spirv::parseEnumKeywordAttr ( EnumClass & value,
OpAsmParser & parser,
OperationState & state,
StringRef attrName = spirv::attributeName<EnumClass>() )

Parses the next keyword in parser as an enumerant of the given EnumClass and inserts the enumerant into state as an 32-bit integer attribute with the enum class's name as attribute name.

Definition at line 112 of file SPIRVParsingUtils.h.

References mlir::OperationState::addAttribute(), attributeName(), mlir::Builder::getAttr(), mlir::AsmParser::getBuilder(), parseEnumKeywordAttr(), and success().

◆ parseEnumKeywordAttr() [2/2]

template<typename EnumClass, typename ParserType>
ParseResult mlir::spirv::parseEnumKeywordAttr ( EnumClass & value,
ParserType & parser,
StringRef attrName = spirv::attributeName<EnumClass>() )

Parses the next keyword in parser as an enumerant of the given EnumClass.

Definition at line 49 of file SPIRVParsingUtils.h.

References attributeName(), and success().

Referenced by parseControlAttribute(), parseCooperativeMatrixType(), and parseEnumKeywordAttr().

◆ parseEnumStrAttr() [1/2]

template<typename EnumAttrClass, typename EnumClass = typename EnumAttrClass::ValueType>
ParseResult mlir::spirv::parseEnumStrAttr ( EnumClass & value,
OpAsmParser & parser,
OperationState & state,
StringRef attrName = spirv::attributeName<EnumClass>() )

Parses the next string attribute in parser as an enumerant of the given EnumClass and inserts the enumerant into state as an 32-bit integer attribute with the enum class's name as attribute name.

Definition at line 96 of file SPIRVParsingUtils.h.

References mlir::OperationState::addAttribute(), attributeName(), mlir::Builder::getAttr(), mlir::AsmParser::getBuilder(), parseEnumStrAttr(), and success().

◆ parseEnumStrAttr() [2/2]

template<typename EnumClass>
ParseResult mlir::spirv::parseEnumStrAttr ( EnumClass & value,
OpAsmParser & parser,
StringRef attrName = spirv::attributeName<EnumClass>() )

◆ parseImageOperands()

ParseResult mlir::spirv::parseImageOperands ( OpAsmParser & parser,
spirv::ImageOperandsAttr & attr )
static

◆ parseMemoryAccessAttributes()

template<typename MemoryOpTy>
ParseResult mlir::spirv::parseMemoryAccessAttributes ( OpAsmParser & parser,
OperationState & state )

Parses optional memory access (a.k.a.

memory operand) attributes attached to a memory access operand/pointer. Specifically, parses the following syntax: ([ memory-access ])? where: memory-access ::= "None" | "Volatile" | "Aligned", integer-literal | "NonTemporal"

Definition at line 35 of file MemoryOps.cpp.

References mlir::OperationState::attributes, mlir::AsmParser::getBuilder(), mlir::Builder::getIntegerType(), mlir::OperationState::name, mlir::AsmParser::parseAttribute(), mlir::AsmParser::parseComma(), parseEnumStrAttr(), mlir::AsmParser::parseOptionalLSquare(), mlir::AsmParser::parseRSquare(), and success().

◆ parseSourceMemoryAccessAttributes()

◆ parseSwitchOpCases()

ParseResult mlir::spirv::parseSwitchOpCases ( OpAsmParser & parser,
Type & selectorType,
Block *& defaultTarget,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > & defaultOperands,
SmallVectorImpl< Type > & defaultOperandTypes,
DenseIntElementsAttr & literals,
SmallVectorImpl< Block * > & targets,
SmallVectorImpl< SmallVector< OpAsmParser::UnresolvedOperand > > & targetOperands,
SmallVectorImpl< SmallVector< Type > > & targetOperandTypes )
static

◆ parseVariableDecorations()

◆ populateSPIRVExpandExtendedMultiplicationPatterns()

void mlir::spirv::populateSPIRVExpandExtendedMultiplicationPatterns ( RewritePatternSet & patterns)

Appends patterns to expand extended multiplication and adition ops into regular arithmetic ops.

Extended arithmetic ops are not supported by the WebGPU Shading Language (WGSL).

Definition at line 250 of file SPIRVWebGPUTransforms.cpp.

References mlir::patterns.

◆ populateSPIRVExpandNonFiniteArithmeticPatterns()

void mlir::spirv::populateSPIRVExpandNonFiniteArithmeticPatterns ( RewritePatternSet & patterns)

Appends patterns to expand non-finite arithmetic ops IsNan and IsInf.

These are not supported by the WebGPU Shading Language (WGSL). We follow fast math assumptions and assume that all floating point values are finite.

Definition at line 258 of file SPIRVWebGPUTransforms.cpp.

References mlir::patterns.

◆ populateSPIRVGLCanonicalizationPatterns()

void mlir::spirv::populateSPIRVGLCanonicalizationPatterns ( RewritePatternSet & results)

Populates patterns to run canoncalization that involves GL ops.

These patterns cannot be run in default canonicalization because GL ops aren't always available. So they should be involed specifically when needed.

Definition at line 25 of file SPIRVGLCanonicalization.cpp.

References mlir::RewritePatternSet::add(), and mlir::RewritePatternSet::getContext().

◆ printAccessChain()

template<typename Op>
void mlir::spirv::printAccessChain ( Op op,
ValueRange indices,
OpAsmPrinter & printer )
static

Definition at line 324 of file MemoryOps.cpp.

References indices.

◆ printImageOperands()

void mlir::spirv::printImageOperands ( OpAsmPrinter & printer,
Operation * imageOp,
spirv::ImageOperandsAttr attr )
static

Definition at line 76 of file SPIRVOpDefinition.cpp.

◆ printMemoryAccessAttribute()

template<typename MemoryOpTy>
void mlir::spirv::printMemoryAccessAttribute ( MemoryOpTy memoryOp,
OpAsmPrinter & printer,
SmallVectorImpl< StringRef > & elidedAttrs,
std::optional< spirv::MemoryAccess > memoryAccessAtrrValue = std::nullopt,
std::optional< uint32_t > alignmentAttrValue = std::nullopt )
static

Definition at line 135 of file MemoryOps.cpp.

References attributeName().

◆ printSourceMemoryAccessAttribute()

template<typename MemoryOpTy>
void mlir::spirv::printSourceMemoryAccessAttribute ( MemoryOpTy memoryOp,
OpAsmPrinter & printer,
SmallVectorImpl< StringRef > & elidedAttrs,
std::optional< spirv::MemoryAccess > memoryAccessAtrrValue = std::nullopt,
std::optional< uint32_t > alignmentAttrValue = std::nullopt )
static

Definition at line 106 of file MemoryOps.cpp.

References attributeName().

◆ printSwitchOpCases()

void mlir::spirv::printSwitchOpCases ( OpAsmPrinter & p,
SwitchOp op,
Type selectorType,
Block * defaultTarget,
OperandRange defaultOperands,
TypeRange defaultOperandTypes,
DenseIntElementsAttr literals,
SuccessorRange targets,
OperandRangeRange targetOperands,
const TypeRangeRange & targetOperandTypes )
static

◆ printVariableDecorations()

void mlir::spirv::printVariableDecorations ( Operation * op,
OpAsmPrinter & printer,
SmallVectorImpl< StringRef > & elidedAttrs )

◆ processDecorationList()

template<typename AttrTy, typename EmitF>
LogicalResult mlir::spirv::processDecorationList ( Location loc,
Decoration decoration,
Attribute attrList,
StringRef attrName,
EmitF emitter )
static

Definition at line 281 of file Serializer.cpp.

References mlir::emitError(), and success().

◆ registerSPIRVCanonicalizeGLPass()

void mlir::spirv::registerSPIRVCanonicalizeGLPass ( )
inline

Definition at line 620 of file Passes.h.

◆ registerSPIRVCanonicalizeGLPassPass()

void mlir::spirv::registerSPIRVCanonicalizeGLPassPass ( )
inline

Definition at line 627 of file Passes.h.

◆ registerSPIRVCompositeTypeLayoutPass()

void mlir::spirv::registerSPIRVCompositeTypeLayoutPass ( )
inline

Definition at line 641 of file Passes.h.

◆ registerSPIRVCompositeTypeLayoutPassPass()

void mlir::spirv::registerSPIRVCompositeTypeLayoutPassPass ( )
inline

Definition at line 648 of file Passes.h.

◆ registerSPIRVLowerABIAttributesPass()

void mlir::spirv::registerSPIRVLowerABIAttributesPass ( )
inline

Definition at line 662 of file Passes.h.

◆ registerSPIRVLowerABIAttributesPassPass()

void mlir::spirv::registerSPIRVLowerABIAttributesPassPass ( )
inline

Definition at line 669 of file Passes.h.

◆ registerSPIRVPasses()

void mlir::spirv::registerSPIRVPasses ( )
inline

Definition at line 788 of file Passes.h.

Referenced by mlir::registerAllPasses().

◆ registerSPIRVReplicatedConstantCompositePass()

void mlir::spirv::registerSPIRVReplicatedConstantCompositePass ( )
inline

Definition at line 683 of file Passes.h.

◆ registerSPIRVReplicatedConstantCompositePassPass()

void mlir::spirv::registerSPIRVReplicatedConstantCompositePassPass ( )
inline

Definition at line 690 of file Passes.h.

◆ registerSPIRVRewriteInsertsPass()

void mlir::spirv::registerSPIRVRewriteInsertsPass ( )
inline

Definition at line 704 of file Passes.h.

◆ registerSPIRVRewriteInsertsPassPass()

void mlir::spirv::registerSPIRVRewriteInsertsPassPass ( )
inline

Definition at line 711 of file Passes.h.

◆ registerSPIRVTargetInterfaceExternalModels() [1/2]

void mlir::spirv::registerSPIRVTargetInterfaceExternalModels ( DialectRegistry & registry)

Registers the TargetAttrInterface for the #spirv.target_env attribute in the given registry.

Definition at line 44 of file Target.cpp.

References mlir::DialectRegistry::addExtension(), and mlir::detail::StorageUserBase< ConcreteType, BaseType, StorageType, detail::AttributeUniquer, Traits... >::attachInterface().

Referenced by mlir::registerAllDialects(), and registerSPIRVTargetInterfaceExternalModels().

◆ registerSPIRVTargetInterfaceExternalModels() [2/2]

void mlir::spirv::registerSPIRVTargetInterfaceExternalModels ( MLIRContext & context)

Registers the TargetAttrInterface for the #spirv.target_env attribute in the registry associated with the given context.

Definition at line 51 of file Target.cpp.

References mlir::MLIRContext::appendDialectRegistry(), and registerSPIRVTargetInterfaceExternalModels().

◆ registerSPIRVUnifyAliasedResourcePass()

void mlir::spirv::registerSPIRVUnifyAliasedResourcePass ( )
inline

Definition at line 725 of file Passes.h.

◆ registerSPIRVUnifyAliasedResourcePassPass()

void mlir::spirv::registerSPIRVUnifyAliasedResourcePassPass ( )
inline

Definition at line 732 of file Passes.h.

◆ registerSPIRVUpdateVCEPass()

void mlir::spirv::registerSPIRVUpdateVCEPass ( )
inline

Definition at line 746 of file Passes.h.

◆ registerSPIRVUpdateVCEPassPass()

void mlir::spirv::registerSPIRVUpdateVCEPassPass ( )
inline

Definition at line 753 of file Passes.h.

◆ registerSPIRVWebGPUPreparePass()

void mlir::spirv::registerSPIRVWebGPUPreparePass ( )
inline

Definition at line 767 of file Passes.h.

◆ registerSPIRVWebGPUPreparePassPass()

void mlir::spirv::registerSPIRVWebGPUPreparePassPass ( )
inline

Definition at line 774 of file Passes.h.

◆ serialize()

LogicalResult mlir::spirv::serialize ( ModuleOp moduleOp,
SmallVectorImpl< uint32_t > & binary,
const SerializationOptions & options = {} )

Serializes the given SPIR-V moduleOp and writes to binary.

On failure, reports errors to the error handler registered with the MLIR context for moduleOp.

References options.

Referenced by roundTripModule(), and serializeModule().

◆ Serializer::processOp< spirv::CopyMemoryOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp< spirv::CopyMemoryOp > ( spirv::CopyMemoryOp op)

Definition at line 915 of file SerializeOps.cpp.

◆ Serializer::processOp< spirv::EntryPointOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp< spirv::EntryPointOp > ( spirv::EntryPointOp op)

Definition at line 824 of file SerializeOps.cpp.

◆ Serializer::processOp< spirv::ExecutionModeOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp< spirv::ExecutionModeOp > ( spirv::ExecutionModeOp op)

Definition at line 859 of file SerializeOps.cpp.

◆ Serializer::processOp< spirv::FunctionCallOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp< spirv::FunctionCallOp > ( spirv::FunctionCallOp op)

Definition at line 888 of file SerializeOps.cpp.

◆ Serializer::processOp< spirv::GenericCastToPtrExplicitOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp< spirv::GenericCastToPtrExplicitOp > ( spirv::GenericCastToPtrExplicitOp op)

Definition at line 964 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::AccessChainOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::AccessChainOp > ( ::mlir::spirv::AccessChainOp op)

Definition at line 13 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::AtomicAndOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::AtomicAndOp > ( ::mlir::spirv::AtomicAndOp op)

Definition at line 43 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::AtomicCompareExchangeOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::AtomicCompareExchangeOp > ( ::mlir::spirv::AtomicCompareExchangeOp op)

Definition at line 98 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::AtomicCompareExchangeWeakOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::AtomicCompareExchangeWeakOp > ( ::mlir::spirv::AtomicCompareExchangeWeakOp op)

Definition at line 168 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::AtomicExchangeOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::AtomicExchangeOp > ( ::mlir::spirv::AtomicExchangeOp op)

Definition at line 238 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::AtomicIAddOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::AtomicIAddOp > ( ::mlir::spirv::AtomicIAddOp op)

Definition at line 293 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::AtomicIDecrementOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::AtomicIDecrementOp > ( ::mlir::spirv::AtomicIDecrementOp op)

Definition at line 348 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::AtomicIIncrementOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::AtomicIIncrementOp > ( ::mlir::spirv::AtomicIIncrementOp op)

Definition at line 386 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::AtomicISubOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::AtomicISubOp > ( ::mlir::spirv::AtomicISubOp op)

Definition at line 424 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::AtomicOrOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::AtomicOrOp > ( ::mlir::spirv::AtomicOrOp op)

Definition at line 479 of file SerializeOps.cpp.

References encodeInstructionInto().

◆ Serializer::processOp<::mlir::spirv::AtomicSMaxOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::AtomicSMaxOp > ( ::mlir::spirv::AtomicSMaxOp op)

Definition at line 534 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::AtomicSMinOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::AtomicSMinOp > ( ::mlir::spirv::AtomicSMinOp op)

Definition at line 589 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::AtomicUMaxOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::AtomicUMaxOp > ( ::mlir::spirv::AtomicUMaxOp op)

Definition at line 644 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::AtomicUMinOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::AtomicUMinOp > ( ::mlir::spirv::AtomicUMinOp op)

Definition at line 699 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::AtomicXorOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::AtomicXorOp > ( ::mlir::spirv::AtomicXorOp op)

Definition at line 754 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::BitcastOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::BitcastOp > ( ::mlir::spirv::BitcastOp op)

Definition at line 834 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::BitCountOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::BitCountOp > ( ::mlir::spirv::BitCountOp op)

Definition at line 809 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::BitFieldInsertOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::BitFieldInsertOp > ( ::mlir::spirv::BitFieldInsertOp op)

Definition at line 814 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::BitFieldSExtractOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::BitFieldSExtractOp > ( ::mlir::spirv::BitFieldSExtractOp op)

Definition at line 819 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::BitFieldUExtractOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::BitFieldUExtractOp > ( ::mlir::spirv::BitFieldUExtractOp op)

Definition at line 824 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::BitReverseOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::BitReverseOp > ( ::mlir::spirv::BitReverseOp op)

Definition at line 829 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::BitwiseAndOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::BitwiseAndOp > ( ::mlir::spirv::BitwiseAndOp op)

Definition at line 839 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::BitwiseOrOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::BitwiseOrOp > ( ::mlir::spirv::BitwiseOrOp op)

Definition at line 844 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::BitwiseXorOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::BitwiseXorOp > ( ::mlir::spirv::BitwiseXorOp op)

Definition at line 849 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLAcoshOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLAcoshOp > ( ::mlir::spirv::CLAcoshOp op)

Definition at line 859 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLAcosOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLAcosOp > ( ::mlir::spirv::CLAcosOp op)

Definition at line 854 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLAsinhOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLAsinhOp > ( ::mlir::spirv::CLAsinhOp op)

Definition at line 869 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLAsinOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLAsinOp > ( ::mlir::spirv::CLAsinOp op)

Definition at line 864 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLAtan2Op >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLAtan2Op > ( ::mlir::spirv::CLAtan2Op op)

Definition at line 874 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLAtanhOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLAtanhOp > ( ::mlir::spirv::CLAtanhOp op)

Definition at line 884 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLAtanOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLAtanOp > ( ::mlir::spirv::CLAtanOp op)

Definition at line 879 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLCeilOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLCeilOp > ( ::mlir::spirv::CLCeilOp op)

Definition at line 889 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLCoshOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLCoshOp > ( ::mlir::spirv::CLCoshOp op)

Definition at line 899 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLCosOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLCosOp > ( ::mlir::spirv::CLCosOp op)

Definition at line 894 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLErfOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLErfOp > ( ::mlir::spirv::CLErfOp op)

Definition at line 904 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLExpOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLExpOp > ( ::mlir::spirv::CLExpOp op)

Definition at line 909 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLFAbsOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLFAbsOp > ( ::mlir::spirv::CLFAbsOp op)

Definition at line 914 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLFloorOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLFloorOp > ( ::mlir::spirv::CLFloorOp op)

Definition at line 929 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLFmaOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLFmaOp > ( ::mlir::spirv::CLFmaOp op)

Definition at line 934 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLFMaxOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLFMaxOp > ( ::mlir::spirv::CLFMaxOp op)

Definition at line 919 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLFMinOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLFMinOp > ( ::mlir::spirv::CLFMinOp op)

Definition at line 924 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLLogOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLLogOp > ( ::mlir::spirv::CLLogOp op)

Definition at line 939 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLMixOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLMixOp > ( ::mlir::spirv::CLMixOp op)

Definition at line 944 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLPowOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLPowOp > ( ::mlir::spirv::CLPowOp op)

Definition at line 949 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLPrintfOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLPrintfOp > ( ::mlir::spirv::CLPrintfOp op)

Definition at line 954 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLRintOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLRintOp > ( ::mlir::spirv::CLRintOp op)

Definition at line 983 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLRoundOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLRoundOp > ( ::mlir::spirv::CLRoundOp op)

Definition at line 988 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLRsqrtOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLRsqrtOp > ( ::mlir::spirv::CLRsqrtOp op)

Definition at line 993 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLSAbsOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLSAbsOp > ( ::mlir::spirv::CLSAbsOp op)

Definition at line 998 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLSinhOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLSinhOp > ( ::mlir::spirv::CLSinhOp op)

Definition at line 1018 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLSinOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLSinOp > ( ::mlir::spirv::CLSinOp op)

Definition at line 1013 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLSMaxOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLSMaxOp > ( ::mlir::spirv::CLSMaxOp op)

Definition at line 1003 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLSMinOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLSMinOp > ( ::mlir::spirv::CLSMinOp op)

Definition at line 1008 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLSqrtOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLSqrtOp > ( ::mlir::spirv::CLSqrtOp op)

Definition at line 1023 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLTanhOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLTanhOp > ( ::mlir::spirv::CLTanhOp op)

Definition at line 1033 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLTanOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLTanOp > ( ::mlir::spirv::CLTanOp op)

Definition at line 1028 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLUMaxOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLUMaxOp > ( ::mlir::spirv::CLUMaxOp op)

Definition at line 1038 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CLUMinOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CLUMinOp > ( ::mlir::spirv::CLUMinOp op)

Definition at line 1043 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CompositeConstructOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CompositeConstructOp > ( ::mlir::spirv::CompositeConstructOp op)

Definition at line 1048 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CompositeExtractOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CompositeExtractOp > ( ::mlir::spirv::CompositeExtractOp op)

Definition at line 1078 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::CompositeInsertOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::CompositeInsertOp > ( ::mlir::spirv::CompositeInsertOp op)

Definition at line 1114 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ControlBarrierOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ControlBarrierOp > ( ::mlir::spirv::ControlBarrierOp op)

Definition at line 1150 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ConvertFToSOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ConvertFToSOp > ( ::mlir::spirv::ConvertFToSOp op)

Definition at line 1171 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ConvertFToUOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ConvertFToUOp > ( ::mlir::spirv::ConvertFToUOp op)

Definition at line 1176 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ConvertPtrToUOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ConvertPtrToUOp > ( ::mlir::spirv::ConvertPtrToUOp op)

Definition at line 1181 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ConvertSToFOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ConvertSToFOp > ( ::mlir::spirv::ConvertSToFOp op)

Definition at line 1186 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ConvertUToFOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ConvertUToFOp > ( ::mlir::spirv::ConvertUToFOp op)

Definition at line 1191 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ConvertUToPtrOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ConvertUToPtrOp > ( ::mlir::spirv::ConvertUToPtrOp op)

Definition at line 1196 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::DotOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::DotOp > ( ::mlir::spirv::DotOp op)

Definition at line 1201 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::EmitVertexOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::EmitVertexOp > ( ::mlir::spirv::EmitVertexOp op)

Definition at line 1280 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::EndPrimitiveOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::EndPrimitiveOp > ( ::mlir::spirv::EndPrimitiveOp op)

Definition at line 1285 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::EXTAtomicFAddOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::EXTAtomicFAddOp > ( ::mlir::spirv::EXTAtomicFAddOp op)

Definition at line 1206 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::EXTEmitMeshTasksOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::EXTEmitMeshTasksOp > ( ::mlir::spirv::EXTEmitMeshTasksOp op)

Definition at line 1261 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::EXTSetMeshOutputsOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::EXTSetMeshOutputsOp > ( ::mlir::spirv::EXTSetMeshOutputsOp op)

Definition at line 1275 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::FAddOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::FAddOp > ( ::mlir::spirv::FAddOp op)

Definition at line 1290 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::FConvertOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::FConvertOp > ( ::mlir::spirv::FConvertOp op)

Definition at line 1295 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::FDivOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::FDivOp > ( ::mlir::spirv::FDivOp op)

Definition at line 1300 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::FModOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::FModOp > ( ::mlir::spirv::FModOp op)

Definition at line 1305 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::FMulOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::FMulOp > ( ::mlir::spirv::FMulOp op)

Definition at line 1310 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::FNegateOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::FNegateOp > ( ::mlir::spirv::FNegateOp op)

Definition at line 1315 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::FOrdEqualOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::FOrdEqualOp > ( ::mlir::spirv::FOrdEqualOp op)

Definition at line 1320 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::FOrdGreaterThanEqualOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::FOrdGreaterThanEqualOp > ( ::mlir::spirv::FOrdGreaterThanEqualOp op)

Definition at line 1325 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::FOrdGreaterThanOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::FOrdGreaterThanOp > ( ::mlir::spirv::FOrdGreaterThanOp op)

Definition at line 1330 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::FOrdLessThanEqualOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::FOrdLessThanEqualOp > ( ::mlir::spirv::FOrdLessThanEqualOp op)

Definition at line 1335 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::FOrdLessThanOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::FOrdLessThanOp > ( ::mlir::spirv::FOrdLessThanOp op)

Definition at line 1340 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::FOrdNotEqualOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::FOrdNotEqualOp > ( ::mlir::spirv::FOrdNotEqualOp op)

Definition at line 1345 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::FRemOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::FRemOp > ( ::mlir::spirv::FRemOp op)

Definition at line 1350 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::FSubOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::FSubOp > ( ::mlir::spirv::FSubOp op)

Definition at line 1355 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::FUnordEqualOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::FUnordEqualOp > ( ::mlir::spirv::FUnordEqualOp op)

Definition at line 1360 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::FUnordGreaterThanEqualOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::FUnordGreaterThanEqualOp > ( ::mlir::spirv::FUnordGreaterThanEqualOp op)

Definition at line 1365 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::FUnordGreaterThanOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::FUnordGreaterThanOp > ( ::mlir::spirv::FUnordGreaterThanOp op)

Definition at line 1370 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::FUnordLessThanEqualOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::FUnordLessThanEqualOp > ( ::mlir::spirv::FUnordLessThanEqualOp op)

Definition at line 1375 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::FUnordLessThanOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::FUnordLessThanOp > ( ::mlir::spirv::FUnordLessThanOp op)

Definition at line 1380 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::FUnordNotEqualOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::FUnordNotEqualOp > ( ::mlir::spirv::FUnordNotEqualOp op)

Definition at line 1385 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GenericCastToPtrOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GenericCastToPtrOp > ( ::mlir::spirv::GenericCastToPtrOp op)

Definition at line 1655 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLAcoshOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLAcoshOp > ( ::mlir::spirv::GLAcoshOp op)

Definition at line 1395 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLAcosOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLAcosOp > ( ::mlir::spirv::GLAcosOp op)

Definition at line 1390 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLAsinhOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLAsinhOp > ( ::mlir::spirv::GLAsinhOp op)

Definition at line 1405 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLAsinOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLAsinOp > ( ::mlir::spirv::GLAsinOp op)

Definition at line 1400 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLAtanhOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLAtanhOp > ( ::mlir::spirv::GLAtanhOp op)

Definition at line 1415 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLAtanOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLAtanOp > ( ::mlir::spirv::GLAtanOp op)

Definition at line 1410 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLCeilOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLCeilOp > ( ::mlir::spirv::GLCeilOp op)

Definition at line 1420 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLCoshOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLCoshOp > ( ::mlir::spirv::GLCoshOp op)

Definition at line 1430 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLCosOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLCosOp > ( ::mlir::spirv::GLCosOp op)

Definition at line 1425 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLCrossOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLCrossOp > ( ::mlir::spirv::GLCrossOp op)

Definition at line 1435 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLDistanceOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLDistanceOp > ( ::mlir::spirv::GLDistanceOp op)

Definition at line 1440 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLExp2Op >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLExp2Op > ( ::mlir::spirv::GLExp2Op op)

Definition at line 1445 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLExpOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLExpOp > ( ::mlir::spirv::GLExpOp op)

Definition at line 1450 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLFAbsOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLFAbsOp > ( ::mlir::spirv::GLFAbsOp op)

Definition at line 1455 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLFClampOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLFClampOp > ( ::mlir::spirv::GLFClampOp op)

Definition at line 1460 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLFindILsbOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLFindILsbOp > ( ::mlir::spirv::GLFindILsbOp op)

Definition at line 1485 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLFindSMsbOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLFindSMsbOp > ( ::mlir::spirv::GLFindSMsbOp op)

Definition at line 1490 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLFindUMsbOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLFindUMsbOp > ( ::mlir::spirv::GLFindUMsbOp op)

Definition at line 1495 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLFloorOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLFloorOp > ( ::mlir::spirv::GLFloorOp op)

Definition at line 1500 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLFmaOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLFmaOp > ( ::mlir::spirv::GLFmaOp op)

Definition at line 1505 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLFMaxOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLFMaxOp > ( ::mlir::spirv::GLFMaxOp op)

Definition at line 1465 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLFMinOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLFMinOp > ( ::mlir::spirv::GLFMinOp op)

Definition at line 1470 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLFMixOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLFMixOp > ( ::mlir::spirv::GLFMixOp op)

Definition at line 1475 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLFractOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLFractOp > ( ::mlir::spirv::GLFractOp op)

Definition at line 1510 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLFrexpStructOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLFrexpStructOp > ( ::mlir::spirv::GLFrexpStructOp op)

Definition at line 1515 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLFSignOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLFSignOp > ( ::mlir::spirv::GLFSignOp op)

Definition at line 1480 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLInverseSqrtOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLInverseSqrtOp > ( ::mlir::spirv::GLInverseSqrtOp op)

Definition at line 1520 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLLdexpOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLLdexpOp > ( ::mlir::spirv::GLLdexpOp op)

Definition at line 1525 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLLengthOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLLengthOp > ( ::mlir::spirv::GLLengthOp op)

Definition at line 1530 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLLog2Op >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLLog2Op > ( ::mlir::spirv::GLLog2Op op)

Definition at line 1535 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLLogOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLLogOp > ( ::mlir::spirv::GLLogOp op)

Definition at line 1540 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLNormalizeOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLNormalizeOp > ( ::mlir::spirv::GLNormalizeOp op)

Definition at line 1545 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLPackHalf2x16Op >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLPackHalf2x16Op > ( ::mlir::spirv::GLPackHalf2x16Op op)

Definition at line 1550 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLPackSnorm4x8Op >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLPackSnorm4x8Op > ( ::mlir::spirv::GLPackSnorm4x8Op op)

Definition at line 1555 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLPowOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLPowOp > ( ::mlir::spirv::GLPowOp op)

Definition at line 1560 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLReflectOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLReflectOp > ( ::mlir::spirv::GLReflectOp op)

Definition at line 1565 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLRoundEvenOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLRoundEvenOp > ( ::mlir::spirv::GLRoundEvenOp op)

Definition at line 1570 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLRoundOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLRoundOp > ( ::mlir::spirv::GLRoundOp op)

Definition at line 1575 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLSAbsOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLSAbsOp > ( ::mlir::spirv::GLSAbsOp op)

Definition at line 1580 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLSClampOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLSClampOp > ( ::mlir::spirv::GLSClampOp op)

Definition at line 1585 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLSinhOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLSinhOp > ( ::mlir::spirv::GLSinhOp op)

Definition at line 1610 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLSinOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLSinOp > ( ::mlir::spirv::GLSinOp op)

Definition at line 1605 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLSMaxOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLSMaxOp > ( ::mlir::spirv::GLSMaxOp op)

Definition at line 1590 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLSMinOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLSMinOp > ( ::mlir::spirv::GLSMinOp op)

Definition at line 1595 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLSqrtOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLSqrtOp > ( ::mlir::spirv::GLSqrtOp op)

Definition at line 1615 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLSSignOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLSSignOp > ( ::mlir::spirv::GLSSignOp op)

Definition at line 1600 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLTanhOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLTanhOp > ( ::mlir::spirv::GLTanhOp op)

Definition at line 1625 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLTanOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLTanOp > ( ::mlir::spirv::GLTanOp op)

Definition at line 1620 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLUClampOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLUClampOp > ( ::mlir::spirv::GLUClampOp op)

Definition at line 1630 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLUMaxOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLUMaxOp > ( ::mlir::spirv::GLUMaxOp op)

Definition at line 1635 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLUMinOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLUMinOp > ( ::mlir::spirv::GLUMinOp op)

Definition at line 1640 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLUnpackHalf2x16Op >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLUnpackHalf2x16Op > ( ::mlir::spirv::GLUnpackHalf2x16Op op)

Definition at line 1645 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GLUnpackSnorm4x8Op >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GLUnpackSnorm4x8Op > ( ::mlir::spirv::GLUnpackSnorm4x8Op op)

Definition at line 1650 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupBroadcastOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupBroadcastOp > ( ::mlir::spirv::GroupBroadcastOp op)

Definition at line 1660 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupFAddOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupFAddOp > ( ::mlir::spirv::GroupFAddOp op)

Definition at line 1709 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupFMaxOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupFMaxOp > ( ::mlir::spirv::GroupFMaxOp op)

Definition at line 1755 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupFMinOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupFMinOp > ( ::mlir::spirv::GroupFMinOp op)

Definition at line 1801 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupFMulKHROp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupFMulKHROp > ( ::mlir::spirv::GroupFMulKHROp op)

Definition at line 1847 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupIAddOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupIAddOp > ( ::mlir::spirv::GroupIAddOp op)

Definition at line 1893 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupIMulKHROp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupIMulKHROp > ( ::mlir::spirv::GroupIMulKHROp op)

Definition at line 1939 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformAllEqualOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformAllEqualOp > ( ::mlir::spirv::GroupNonUniformAllEqualOp op)

Definition at line 1985 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformAllOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformAllOp > ( ::mlir::spirv::GroupNonUniformAllOp op)

Definition at line 2025 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformAnyOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformAnyOp > ( ::mlir::spirv::GroupNonUniformAnyOp op)

Definition at line 2065 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformBallotBitCountOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformBallotBitCountOp > ( ::mlir::spirv::GroupNonUniformBallotBitCountOp op)

Definition at line 2105 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformBallotFindLSBOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformBallotFindLSBOp > ( ::mlir::spirv::GroupNonUniformBallotFindLSBOp op)

Definition at line 2151 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformBallotFindMSBOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformBallotFindMSBOp > ( ::mlir::spirv::GroupNonUniformBallotFindMSBOp op)

Definition at line 2191 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformBallotOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformBallotOp > ( ::mlir::spirv::GroupNonUniformBallotOp op)

Definition at line 2231 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformBitwiseAndOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformBitwiseAndOp > ( ::mlir::spirv::GroupNonUniformBitwiseAndOp op)

Definition at line 2271 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformBitwiseOrOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformBitwiseOrOp > ( ::mlir::spirv::GroupNonUniformBitwiseOrOp op)

Definition at line 2326 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformBitwiseXorOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformBitwiseXorOp > ( ::mlir::spirv::GroupNonUniformBitwiseXorOp op)

Definition at line 2381 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformBroadcastOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformBroadcastOp > ( ::mlir::spirv::GroupNonUniformBroadcastOp op)

Definition at line 2436 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformElectOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformElectOp > ( ::mlir::spirv::GroupNonUniformElectOp op)

Definition at line 2485 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformFAddOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformFAddOp > ( ::mlir::spirv::GroupNonUniformFAddOp op)

Definition at line 2514 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformFMaxOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformFMaxOp > ( ::mlir::spirv::GroupNonUniformFMaxOp op)

Definition at line 2569 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformFMinOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformFMinOp > ( ::mlir::spirv::GroupNonUniformFMinOp op)

Definition at line 2624 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformFMulOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformFMulOp > ( ::mlir::spirv::GroupNonUniformFMulOp op)

Definition at line 2679 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformIAddOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformIAddOp > ( ::mlir::spirv::GroupNonUniformIAddOp op)

Definition at line 2734 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformIMulOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformIMulOp > ( ::mlir::spirv::GroupNonUniformIMulOp op)

Definition at line 2789 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformLogicalAndOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformLogicalAndOp > ( ::mlir::spirv::GroupNonUniformLogicalAndOp op)

Definition at line 2844 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformLogicalOrOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformLogicalOrOp > ( ::mlir::spirv::GroupNonUniformLogicalOrOp op)

Definition at line 2899 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformLogicalXorOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformLogicalXorOp > ( ::mlir::spirv::GroupNonUniformLogicalXorOp op)

Definition at line 2954 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformQuadSwapOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformQuadSwapOp > ( ::mlir::spirv::GroupNonUniformQuadSwapOp op)

Definition at line 3009 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformRotateKHROp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformRotateKHROp > ( ::mlir::spirv::GroupNonUniformRotateKHROp op)

Definition at line 3058 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformShuffleDownOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformShuffleDownOp > ( ::mlir::spirv::GroupNonUniformShuffleDownOp op)

Definition at line 3226 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformShuffleOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformShuffleOp > ( ::mlir::spirv::GroupNonUniformShuffleOp op)

Definition at line 3275 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformShuffleUpOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformShuffleUpOp > ( ::mlir::spirv::GroupNonUniformShuffleUpOp op)

Definition at line 3324 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformShuffleXorOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformShuffleXorOp > ( ::mlir::spirv::GroupNonUniformShuffleXorOp op)

Definition at line 3373 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformSMaxOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformSMaxOp > ( ::mlir::spirv::GroupNonUniformSMaxOp op)

Definition at line 3116 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformSMinOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformSMinOp > ( ::mlir::spirv::GroupNonUniformSMinOp op)

Definition at line 3171 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformUMaxOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformUMaxOp > ( ::mlir::spirv::GroupNonUniformUMaxOp op)

Definition at line 3422 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupNonUniformUMinOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupNonUniformUMinOp > ( ::mlir::spirv::GroupNonUniformUMinOp op)

Definition at line 3477 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupSMaxOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupSMaxOp > ( ::mlir::spirv::GroupSMaxOp op)

Definition at line 3532 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupSMinOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupSMinOp > ( ::mlir::spirv::GroupSMinOp op)

Definition at line 3578 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupUMaxOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupUMaxOp > ( ::mlir::spirv::GroupUMaxOp op)

Definition at line 3624 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::GroupUMinOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::GroupUMinOp > ( ::mlir::spirv::GroupUMinOp op)

Definition at line 3670 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::IAddCarryOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::IAddCarryOp > ( ::mlir::spirv::IAddCarryOp op)

Definition at line 3716 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::IAddOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::IAddOp > ( ::mlir::spirv::IAddOp op)

Definition at line 3721 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::IEqualOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::IEqualOp > ( ::mlir::spirv::IEqualOp op)

Definition at line 3726 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ImageDrefGatherOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ImageDrefGatherOp > ( ::mlir::spirv::ImageDrefGatherOp op)

Definition at line 3818 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ImageFetchOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ImageFetchOp > ( ::mlir::spirv::ImageFetchOp op)

Definition at line 3885 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ImageOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ImageOp > ( ::mlir::spirv::ImageOp op)

Definition at line 3943 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ImageQuerySizeOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ImageQuerySizeOp > ( ::mlir::spirv::ImageQuerySizeOp op)

Definition at line 3948 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ImageReadOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ImageReadOp > ( ::mlir::spirv::ImageReadOp op)

Definition at line 3953 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ImageSampleExplicitLodOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ImageSampleExplicitLodOp > ( ::mlir::spirv::ImageSampleExplicitLodOp op)

Definition at line 4011 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ImageSampleImplicitLodOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ImageSampleImplicitLodOp > ( ::mlir::spirv::ImageSampleImplicitLodOp op)

Definition at line 4069 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ImageSampleProjDrefImplicitLodOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ImageSampleProjDrefImplicitLodOp > ( ::mlir::spirv::ImageSampleProjDrefImplicitLodOp op)

Definition at line 4127 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ImageWriteOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ImageWriteOp > ( ::mlir::spirv::ImageWriteOp op)

Definition at line 4194 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::IMulOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::IMulOp > ( ::mlir::spirv::IMulOp op)

Definition at line 3731 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::InBoundsPtrAccessChainOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::InBoundsPtrAccessChainOp > ( ::mlir::spirv::InBoundsPtrAccessChainOp op)

Definition at line 4245 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::INotEqualOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::INotEqualOp > ( ::mlir::spirv::INotEqualOp op)

Definition at line 3803 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::INTELControlBarrierArriveOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::INTELControlBarrierArriveOp > ( ::mlir::spirv::INTELControlBarrierArriveOp op)

Definition at line 3736 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::INTELControlBarrierWaitOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::INTELControlBarrierWaitOp > ( ::mlir::spirv::INTELControlBarrierWaitOp op)

Definition at line 3757 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::INTELConvertBF16ToFOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::INTELConvertBF16ToFOp > ( ::mlir::spirv::INTELConvertBF16ToFOp op)

Definition at line 3778 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::INTELConvertFToBF16Op >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::INTELConvertFToBF16Op > ( ::mlir::spirv::INTELConvertFToBF16Op op)

Definition at line 3783 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::INTELRoundFToTF32Op >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::INTELRoundFToTF32Op > ( ::mlir::spirv::INTELRoundFToTF32Op op)

Definition at line 3788 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::INTELSubgroupBlockReadOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::INTELSubgroupBlockReadOp > ( ::mlir::spirv::INTELSubgroupBlockReadOp op)

Definition at line 3793 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::INTELSubgroupBlockWriteOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::INTELSubgroupBlockWriteOp > ( ::mlir::spirv::INTELSubgroupBlockWriteOp op)

Definition at line 3798 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::IsFiniteOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::IsFiniteOp > ( ::mlir::spirv::IsFiniteOp op)

Definition at line 4275 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::IsInfOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::IsInfOp > ( ::mlir::spirv::IsInfOp op)

Definition at line 4280 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::IsNanOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::IsNanOp > ( ::mlir::spirv::IsNanOp op)

Definition at line 4285 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ISubBorrowOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ISubBorrowOp > ( ::mlir::spirv::ISubBorrowOp op)

Definition at line 3808 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ISubOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ISubOp > ( ::mlir::spirv::ISubOp op)

Definition at line 3813 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::KHRAssumeTrueOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::KHRAssumeTrueOp > ( ::mlir::spirv::KHRAssumeTrueOp op)

Definition at line 4290 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::KHRCooperativeMatrixLengthOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::KHRCooperativeMatrixLengthOp > ( ::mlir::spirv::KHRCooperativeMatrixLengthOp op)

Definition at line 4295 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::KHRCooperativeMatrixLoadOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::KHRCooperativeMatrixLoadOp > ( ::mlir::spirv::KHRCooperativeMatrixLoadOp op)

Definition at line 4328 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::KHRCooperativeMatrixMulAddOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::KHRCooperativeMatrixMulAddOp > ( ::mlir::spirv::KHRCooperativeMatrixMulAddOp op)

Definition at line 4389 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::KHRCooperativeMatrixStoreOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::KHRCooperativeMatrixStoreOp > ( ::mlir::spirv::KHRCooperativeMatrixStoreOp op)

Definition at line 4423 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::KHRSubgroupBallotOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::KHRSubgroupBallotOp > ( ::mlir::spirv::KHRSubgroupBallotOp op)

Definition at line 4477 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::KillOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::KillOp > ( ::mlir::spirv::KillOp op)

Definition at line 4482 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::LoadOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::LoadOp > ( ::mlir::spirv::LoadOp op)

Definition at line 4487 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::LogicalAndOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::LogicalAndOp > ( ::mlir::spirv::LogicalAndOp op)

Definition at line 4525 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::LogicalEqualOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::LogicalEqualOp > ( ::mlir::spirv::LogicalEqualOp op)

Definition at line 4530 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::LogicalNotEqualOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::LogicalNotEqualOp > ( ::mlir::spirv::LogicalNotEqualOp op)

Definition at line 4535 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::LogicalNotOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::LogicalNotOp > ( ::mlir::spirv::LogicalNotOp op)

Definition at line 4540 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::LogicalOrOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::LogicalOrOp > ( ::mlir::spirv::LogicalOrOp op)

Definition at line 4545 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::MatrixTimesMatrixOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::MatrixTimesMatrixOp > ( ::mlir::spirv::MatrixTimesMatrixOp op)

Definition at line 4550 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::MatrixTimesScalarOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::MatrixTimesScalarOp > ( ::mlir::spirv::MatrixTimesScalarOp op)

Definition at line 4555 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::MatrixTimesVectorOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::MatrixTimesVectorOp > ( ::mlir::spirv::MatrixTimesVectorOp op)

Definition at line 4560 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::MemoryBarrierOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::MemoryBarrierOp > ( ::mlir::spirv::MemoryBarrierOp op)

Definition at line 4565 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::NotOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::NotOp > ( ::mlir::spirv::NotOp op)

Definition at line 4582 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::OrderedOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::OrderedOp > ( ::mlir::spirv::OrderedOp op)

Definition at line 4587 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::PtrAccessChainOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::PtrAccessChainOp > ( ::mlir::spirv::PtrAccessChainOp op)

Definition at line 4592 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::PtrCastToGenericOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::PtrCastToGenericOp > ( ::mlir::spirv::PtrCastToGenericOp op)

Definition at line 4622 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ReturnOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ReturnOp > ( ::mlir::spirv::ReturnOp op)

Definition at line 4627 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ReturnValueOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ReturnValueOp > ( ::mlir::spirv::ReturnValueOp op)

Definition at line 4632 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::SConvertOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::SConvertOp > ( ::mlir::spirv::SConvertOp op)

Definition at line 4637 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::SDivOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::SDivOp > ( ::mlir::spirv::SDivOp op)

Definition at line 4642 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::SDotAccSatOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::SDotAccSatOp > ( ::mlir::spirv::SDotAccSatOp op)

Definition at line 4647 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::SDotOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::SDotOp > ( ::mlir::spirv::SDotOp op)

Definition at line 4681 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::SelectOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::SelectOp > ( ::mlir::spirv::SelectOp op)

Definition at line 4823 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::SGreaterThanEqualOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::SGreaterThanEqualOp > ( ::mlir::spirv::SGreaterThanEqualOp op)

Definition at line 4715 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::SGreaterThanOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::SGreaterThanOp > ( ::mlir::spirv::SGreaterThanOp op)

Definition at line 4720 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ShiftLeftLogicalOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ShiftLeftLogicalOp > ( ::mlir::spirv::ShiftLeftLogicalOp op)

Definition at line 4828 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ShiftRightArithmeticOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ShiftRightArithmeticOp > ( ::mlir::spirv::ShiftRightArithmeticOp op)

Definition at line 4833 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ShiftRightLogicalOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ShiftRightLogicalOp > ( ::mlir::spirv::ShiftRightLogicalOp op)

Definition at line 4838 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::SLessThanEqualOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::SLessThanEqualOp > ( ::mlir::spirv::SLessThanEqualOp op)

Definition at line 4725 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::SLessThanOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::SLessThanOp > ( ::mlir::spirv::SLessThanOp op)

Definition at line 4730 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::SModOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::SModOp > ( ::mlir::spirv::SModOp op)

Definition at line 4735 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::SMulExtendedOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::SMulExtendedOp > ( ::mlir::spirv::SMulExtendedOp op)

Definition at line 4740 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::SNegateOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::SNegateOp > ( ::mlir::spirv::SNegateOp op)

Definition at line 4745 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::SRemOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::SRemOp > ( ::mlir::spirv::SRemOp op)

Definition at line 4750 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::StoreOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::StoreOp > ( ::mlir::spirv::StoreOp op)

Definition at line 4843 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::SUDotAccSatOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::SUDotAccSatOp > ( ::mlir::spirv::SUDotAccSatOp op)

Definition at line 4755 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::SUDotOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::SUDotOp > ( ::mlir::spirv::SUDotOp op)

Definition at line 4789 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::TransposeOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::TransposeOp > ( ::mlir::spirv::TransposeOp op)

Definition at line 4865 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::UConvertOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::UConvertOp > ( ::mlir::spirv::UConvertOp op)

Definition at line 4870 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::UDivOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::UDivOp > ( ::mlir::spirv::UDivOp op)

Definition at line 4875 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::UDotAccSatOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::UDotAccSatOp > ( ::mlir::spirv::UDotAccSatOp op)

Definition at line 4880 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::UDotOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::UDotOp > ( ::mlir::spirv::UDotOp op)

Definition at line 4914 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::UGreaterThanEqualOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::UGreaterThanEqualOp > ( ::mlir::spirv::UGreaterThanEqualOp op)

Definition at line 4948 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::UGreaterThanOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::UGreaterThanOp > ( ::mlir::spirv::UGreaterThanOp op)

Definition at line 4953 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ULessThanEqualOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ULessThanEqualOp > ( ::mlir::spirv::ULessThanEqualOp op)

Definition at line 4958 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::ULessThanOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::ULessThanOp > ( ::mlir::spirv::ULessThanOp op)

Definition at line 4963 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::UModOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::UModOp > ( ::mlir::spirv::UModOp op)

Definition at line 4968 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::UMulExtendedOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::UMulExtendedOp > ( ::mlir::spirv::UMulExtendedOp op)

Definition at line 4973 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::UnorderedOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::UnorderedOp > ( ::mlir::spirv::UnorderedOp op)

Definition at line 4978 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::UnreachableOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::UnreachableOp > ( ::mlir::spirv::UnreachableOp op)

Definition at line 4983 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::VariableOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::VariableOp > ( ::mlir::spirv::VariableOp op)

Definition at line 4988 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::VectorExtractDynamicOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::VectorExtractDynamicOp > ( ::mlir::spirv::VectorExtractDynamicOp op)

Definition at line 5028 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::VectorInsertDynamicOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::VectorInsertDynamicOp > ( ::mlir::spirv::VectorInsertDynamicOp op)

Definition at line 5033 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::VectorShuffleOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::VectorShuffleOp > ( ::mlir::spirv::VectorShuffleOp op)

Definition at line 5038 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::VectorTimesMatrixOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::VectorTimesMatrixOp > ( ::mlir::spirv::VectorTimesMatrixOp op)

Definition at line 5074 of file SerializeOps.cpp.

◆ Serializer::processOp<::mlir::spirv::VectorTimesScalarOp >()

template<>
LogicalResult mlir::spirv::Serializer::processOp<::mlir::spirv::VectorTimesScalarOp > ( ::mlir::spirv::VectorTimesScalarOp op)

Definition at line 5079 of file SerializeOps.cpp.

◆ Serializer::processTypeDecoration< spirv::ArrayType >()

template<>
LogicalResult mlir::spirv::Serializer::processTypeDecoration< spirv::ArrayType > ( Location loc,
spirv::ArrayType type,
uint32_t resultID )

Definition at line 440 of file Serializer.cpp.

References mlir::spirv::ArrayType::getArrayStride(), and success().

◆ Serializer::processTypeDecoration< spirv::RuntimeArrayType >()

template<>
LogicalResult mlir::spirv::Serializer::processTypeDecoration< spirv::RuntimeArrayType > ( Location loc,
spirv::RuntimeArrayType type,
uint32_t resultID )

Definition at line 450 of file Serializer.cpp.

References mlir::spirv::RuntimeArrayType::getArrayStride(), and success().

◆ stringifyTypeName()

template<typename T>
StringRef mlir::spirv::stringifyTypeName ( )
static

Referenced by verifyAtomicUpdateOp().

◆ stringifyTypeName< FloatType >()

template<>
StringRef mlir::spirv::stringifyTypeName< FloatType > ( )

Definition at line 31 of file AtomicOps.cpp.

◆ stringifyTypeName< IntegerType >()

template<>
StringRef mlir::spirv::stringifyTypeName< IntegerType > ( )

Definition at line 26 of file AtomicOps.cpp.

◆ unrollVectorsInFuncBodies()

◆ unrollVectorsInSignatures()

◆ verifyAccessChain()

template<typename Op>
LogicalResult mlir::spirv::verifyAccessChain ( Op accessChainOp,
ValueRange indices )
static

◆ verifyAtomicUpdateOp()

template<typename AtomicOpTy, typename ExpectedElementType>
LogicalResult mlir::spirv::verifyAtomicUpdateOp ( Operation * op)
static

◆ verifyCastOp()

LogicalResult mlir::spirv::verifyCastOp ( Operation * op,
bool requireSameBitWidth = true,
bool skipBitWidthCheck = false )
static

◆ verifyCoopMatrixAccess()

LogicalResult mlir::spirv::verifyCoopMatrixAccess ( Operation * op,
Type pointer,
Type coopMatrix,
spirv::MemoryAccessAttr memoryOperand,
IntegerAttr alignment )
static

Definition at line 24 of file CooperativeMatrixOps.cpp.

References mlir::Operation::emitOpError(), and success().

◆ verifyGroupNonUniformArithmeticOp()

template<typename OpTy>
LogicalResult mlir::spirv::verifyGroupNonUniformArithmeticOp ( Operation * groupOp)
static

◆ verifyGroupNonUniformShuffleOp()

template<typename OpTy>
LogicalResult mlir::spirv::verifyGroupNonUniformShuffleOp ( OpTy op)
static

Definition at line 143 of file GroupOps.cpp.

References success().

◆ verifyGroupOp()

template<typename Op>
LogicalResult mlir::spirv::verifyGroupOp ( Op op)
static

Definition at line 335 of file GroupOps.cpp.

References mlir::OpState::emitOpError(), and success().

◆ verifyIntegerDotProduct()

◆ verifyLoadStorePtrAndValTypes()

template<typename LoadStoreOpTy>
LogicalResult mlir::spirv::verifyLoadStorePtrAndValTypes ( LoadStoreOpTy op,
Value ptr,
Value val )
static

Definition at line 161 of file MemoryOps.cpp.

References mlir::Value::getType(), and success().

◆ verifyMemoryAccessAttribute()

template<typename MemoryOpTy>
LogicalResult mlir::spirv::verifyMemoryAccessAttribute ( MemoryOpTy memoryOp)
static

Definition at line 176 of file MemoryOps.cpp.

References success().

◆ verifyMemorySemantics()

LogicalResult mlir::spirv::verifyMemorySemantics ( Operation * op,
spirv::MemorySemantics memorySemantics )

Definition at line 69 of file SPIRVOps.cpp.

References mlir::Operation::emitError(), and success().

Referenced by verifyAtomicUpdateOp().

◆ verifySourceMemoryAccessAttribute()

template<typename MemoryOpTy>
LogicalResult mlir::spirv::verifySourceMemoryAccessAttribute ( MemoryOpTy memoryOp)
static

Definition at line 220 of file MemoryOps.cpp.

References success().

Variable Documentation

◆ kGeneratorNumber

uint32_t mlir::spirv::kGeneratorNumber = 22
constexpr

The serializer tool ID registered to the Khronos Group.

Definition at line 31 of file SPIRVBinaryUtils.h.

Referenced by appendModuleHeader().

◆ kHeaderWordCount

unsigned mlir::spirv::kHeaderWordCount = 5
constexpr

SPIR-V binary header word count.

Definition at line 25 of file SPIRVBinaryUtils.h.

Referenced by mlir::spirv::Serializer::collect().

◆ kMagicNumber

uint32_t mlir::spirv::kMagicNumber = 0x07230203
constexpr

SPIR-V magic number.

Definition at line 28 of file SPIRVBinaryUtils.h.

Referenced by appendModuleHeader().

◆ kMaxLiteralWordCount

uint32_t mlir::spirv::kMaxLiteralWordCount = kMaxWordCount - 3
constexpr

Max number of words for literal.

Definition at line 38 of file SPIRVBinaryUtils.h.

Referenced by encodeStringLiteralInto().

◆ kMaxWordCount

uint32_t mlir::spirv::kMaxWordCount = 65535
constexpr