13#ifndef MLIR_CONVERSION_MEMREFTOSPIRV_MEMREFTOSPIRV_H 
   14#define MLIR_CONVERSION_MEMREFTOSPIRV_MEMREFTOSPIRV_H 
   26    std::function<std::optional<spirv::StorageClass>(
Attribute)>;
 
   30std::optional<spirv::StorageClass>
 
   39std::optional<spirv::StorageClass>
 
   58std::unique_ptr<ConversionTarget>
 
 
Attributes are known-constant values of operations.
 
MLIRContext is the top-level object for a collection of MLIR operations.
 
Operation is the basic unit of execution within MLIR.
 
Type conversion from builtin types to SPIR-V types for shader interface.
 
Type converter for converting numeric MemRef memory spaces into SPIR-V symbolic ones.
 
MemorySpaceToStorageClassConverter(const MemorySpaceToStorageClassMap &memorySpaceMap)
 
std::unique_ptr< ConversionTarget > getMemorySpaceToStorageClassTarget(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.
 
std::optional< spirv::StorageClass > mapMemorySpaceToOpenCLStorageClass(Attribute)
Maps MemRef memory spaces to storage classes for OpenCL-flavored SPIR-V using the default rule.
 
std::optional< unsigned > mapVulkanStorageClassToMemorySpace(spirv::StorageClass)
Maps storage classes for Vulkan-flavored SPIR-V to MemRef memory spaces using the default rule.
 
std::function< std::optional< spirv::StorageClass >(Attribute)> MemorySpaceToStorageClassMap
Mapping from numeric MemRef memory spaces into SPIR-V symbolic ones.
 
std::optional< unsigned > mapOpenCLStorageClassToMemorySpace(spirv::StorageClass)
Maps storage classes for OpenCL-flavored SPIR-V to MemRef memory spaces using the default rule.
 
std::optional< spirv::StorageClass > mapMemorySpaceToVulkanStorageClass(Attribute)
Maps MemRef memory spaces to storage classes for Vulkan-flavored SPIR-V using the default rule.
 
Include the generated interface declarations.
 
const FrozenRewritePatternSet & patterns
 
void populateMemRefToSPIRVPatterns(const SPIRVTypeConverter &typeConverter, RewritePatternSet &patterns)
Appends to a pattern list additional patterns for translating MemRef ops to SPIR-V ops.