MLIR 22.0.0git
SPIRVAttributes.cpp File Reference
#include "mlir/Dialect/SPIRV/IR/SPIRVAttributes.h"
#include "mlir/Dialect/SPIRV/IR/SPIRVDialect.h"
#include "mlir/Dialect/SPIRV/IR/SPIRVTypes.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/DialectImplementation.h"
#include "llvm/ADT/TypeSwitch.h"
#include "llvm/Support/InterleavedRange.h"
#include "mlir/Dialect/SPIRV/IR/SPIRVAttrUtils.inc"
#include "mlir/Dialect/SPIRV/IR/SPIRVAttributes.cpp.inc"

Go to the source code of this file.

Classes

struct  mlir::spirv::detail::InterfaceVarABIAttributeStorage
struct  mlir::spirv::detail::VerCapExtAttributeStorage
struct  mlir::spirv::detail::TargetEnvAttributeStorage

Namespaces

namespace  mlir
 Include the generated interface declarations.
namespace  mlir::spirv
namespace  mlir::spirv::detail

Macros

#define MLIR_DIALECT_SPIRV_IR_ATTR_UTILS_H_
#define GET_ATTRDEF_CLASSES
#define GET_ATTRDEF_LIST

Functions

template<typename EnumClass>
constexpr StringRef mlir::spirv::attributeName ()
template<>
StringRef mlir::spirv::attributeName< Version > ()
template<>
StringRef mlir::spirv::attributeName< DeviceType > ()
template<>
StringRef mlir::spirv::attributeName< Vendor > ()
template<>
StringRef mlir::spirv::attributeName< ClientAPI > ()
template<>
StringRef mlir::spirv::attributeName< Extension > ()
template<>
StringRef mlir::spirv::attributeName< Capability > ()
template<>
StringRef mlir::spirv::attributeName< AddressingModel > ()
template<>
StringRef mlir::spirv::attributeName< BuiltIn > ()
template<>
StringRef mlir::spirv::attributeName< Decoration > ()
template<>
StringRef mlir::spirv::attributeName< Dim > ()
template<>
StringRef mlir::spirv::attributeName< ExecutionMode > ()
template<>
StringRef mlir::spirv::attributeName< ExecutionModel > ()
template<>
StringRef mlir::spirv::attributeName< FPEncoding > ()
template<>
StringRef mlir::spirv::attributeName< FPRoundingMode > ()
template<>
StringRef mlir::spirv::attributeName< FunctionControl > ()
template<>
StringRef mlir::spirv::attributeName< GroupOperation > ()
template<>
StringRef mlir::spirv::attributeName< ImageFormat > ()
template<>
StringRef mlir::spirv::attributeName< ImageOperands > ()
template<>
StringRef mlir::spirv::attributeName< LinkageType > ()
template<>
StringRef mlir::spirv::attributeName< LoopControl > ()
template<>
StringRef mlir::spirv::attributeName< MemoryAccess > ()
template<>
StringRef mlir::spirv::attributeName< MemoryModel > ()
template<>
StringRef mlir::spirv::attributeName< MemorySemantics > ()
template<>
StringRef mlir::spirv::attributeName< Scope > ()
template<>
StringRef mlir::spirv::attributeName< SelectionControl > ()
template<>
StringRef mlir::spirv::attributeName< StorageClass > ()
template<>
StringRef mlir::spirv::attributeName< PackedVectorFormat > ()
template<>
StringRef mlir::spirv::attributeName< ImageDepthInfo > ()
template<>
StringRef mlir::spirv::attributeName< ImageArrayedInfo > ()
template<>
StringRef mlir::spirv::attributeName< ImageSamplingInfo > ()
template<>
StringRef mlir::spirv::attributeName< ImageSamplerUseInfo > ()
template<>
StringRef mlir::spirv::attributeName< MatrixLayout > ()
template<>
StringRef mlir::spirv::attributeName< CooperativeMatrixUseKHR > ()
template<>
StringRef mlir::spirv::attributeName< CooperativeMatrixLayoutKHR > ()
template<>
StringRef mlir::spirv::attributeName< CooperativeMatrixOperandsKHR > ()
template<>
StringRef mlir::spirv::attributeName< LoadCacheControl > ()
template<>
StringRef mlir::spirv::attributeName< StoreCacheControl > ()
template<>
StringRef mlir::spirv::attributeName< Opcode > ()
template<>
StringRef mlir::spirv::attributeName< FPFastMathMode > ()
static ParseResult parseKeywordList (DialectAsmParser &parser, function_ref< LogicalResult(SMLoc, StringRef)> processKeyword)
 Parses a comma-separated list of keywords, invokes processKeyword on each of the parsed keyword, and returns failure if any error occurs.
static Attribute parseInterfaceVarABIAttr (DialectAsmParser &parser)
 Parses a spirv::InterfaceVarABIAttr.
static Attribute parseVerCapExtAttr (DialectAsmParser &parser)
static Attribute parseTargetEnvAttr (DialectAsmParser &parser)
 Parses a spirv::TargetEnvAttr.
static void print (spirv::VerCapExtAttr triple, DialectAsmPrinter &printer)
static void print (spirv::TargetEnvAttr targetEnv, DialectAsmPrinter &printer)
static void print (spirv::InterfaceVarABIAttr interfaceVarABIAttr, DialectAsmPrinter &printer)

Macro Definition Documentation

◆ GET_ATTRDEF_CLASSES

#define GET_ATTRDEF_CLASSES

Definition at line 349 of file SPIRVAttributes.cpp.

◆ GET_ATTRDEF_LIST

#define GET_ATTRDEF_LIST

◆ MLIR_DIALECT_SPIRV_IR_ATTR_UTILS_H_

#define MLIR_DIALECT_SPIRV_IR_ATTR_UTILS_H_

Function Documentation

◆ parseInterfaceVarABIAttr()

◆ parseKeywordList()

ParseResult parseKeywordList ( DialectAsmParser & parser,
function_ref< LogicalResult(SMLoc, StringRef)> processKeyword )
static

Parses a comma-separated list of keywords, invokes processKeyword on each of the parsed keyword, and returns failure if any error occurs.

Definition at line 359 of file SPIRVAttributes.cpp.

References mlir::AsmParser::parseCommaSeparatedList(), mlir::AsmParser::parseLSquare(), mlir::AsmParser::parseOptionalRSquare(), mlir::AsmParser::parseRSquare(), and success().

Referenced by parseVerCapExtAttr().

◆ parseTargetEnvAttr()

◆ parseVerCapExtAttr()

◆ print() [1/3]

◆ print() [2/3]

◆ print() [3/3]