MLIR
20.0.0git
|
#include "mlir/Dialect/SPIRV/IR/SPIRVOps.h"
#include "SPIRVOpUtils.h"
#include "SPIRVParsingUtils.h"
#include "mlir/Dialect/SPIRV/IR/SPIRVAttributes.h"
#include "mlir/Dialect/SPIRV/IR/SPIRVDialect.h"
#include "mlir/Dialect/SPIRV/IR/SPIRVEnums.h"
#include "mlir/Dialect/SPIRV/IR/SPIRVOpTraits.h"
#include "mlir/Dialect/SPIRV/IR/SPIRVTypes.h"
#include "mlir/Dialect/SPIRV/IR/TargetAndABI.h"
#include "mlir/IR/Builders.h"
#include "mlir/IR/BuiltinTypes.h"
#include "mlir/IR/Matchers.h"
#include "mlir/IR/OpDefinition.h"
#include "mlir/IR/OpImplementation.h"
#include "mlir/IR/Operation.h"
#include "mlir/IR/TypeUtilities.h"
#include "mlir/Interfaces/FunctionImplementation.h"
#include "llvm/ADT/APFloat.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/TypeSwitch.h"
#include <cassert>
#include <numeric>
#include <optional>
#include <type_traits>
Go to the source code of this file.
Functions | |
static ParseResult | parseOneResultSameOperandTypeOp (OpAsmParser &parser, OperationState &result) |
static void | printOneResultOp (Operation *op, OpAsmPrinter &p) |
template<typename Op > | |
static LogicalResult | verifyImageOperands (Op imageOp, spirv::ImageOperandsAttr attr, Operation::operand_range operands) |
template<typename BlockReadWriteOpTy > | |
static LogicalResult | verifyBlockReadWritePtrAndValTypes (BlockReadWriteOpTy op, Value ptr, Value val) |
static Type | getElementType (Type type, ArrayRef< int32_t > indices, function_ref< InFlightDiagnostic(StringRef)> emitErrorFn) |
Walks the given type hierarchy with the given indices, potentially down to component granularity, to select an element type. More... | |
static Type | getElementType (Type type, Attribute indices, function_ref< InFlightDiagnostic(StringRef)> emitErrorFn) |
static Type | getElementType (Type type, Attribute indices, Location loc) |
static Type | getElementType (Type type, Attribute indices, OpAsmParser &parser, SMLoc loc) |
template<typename ExtendedBinaryOp > | |
static LogicalResult | verifyArithmeticExtendedBinaryOp (ExtendedBinaryOp op) |
static ParseResult | parseArithmeticExtendedBinaryOp (OpAsmParser &parser, OperationState &result) |
static void | printArithmeticExtendedBinaryOp (Operation *op, OpAsmPrinter &printer) |
static LogicalResult | verifyShiftOp (Operation *op) |
static LogicalResult | verifyConstantType (spirv::ConstantOp op, Attribute value, Type opType) |
|
static |
Walks the given type hierarchy with the given indices, potentially down to component granularity, to select an element type.
Returns null type and emits errors with the given loc on failure.
Definition at line 215 of file SPIRVOps.cpp.
Referenced by mlir::convertMMAToLLVMType(), mlir::detail::DenseArrayAttrImpl< T >::get(), mlir::sparse_tensor::SparseTensorType::getCOOType(), getElementType(), mlirComplexTypeGetElementType(), mlirPDLRangeTypeGetElementType(), mlirShapedTypeGetElementType(), and mlirUnrankedTensorTypeGetElementType().
|
static |
Definition at line 241 of file SPIRVOps.cpp.
References getElementType().
Definition at line 266 of file SPIRVOps.cpp.
References mlir::emitError(), and getElementType().
|
static |
Definition at line 273 of file SPIRVOps.cpp.
References mlir::AsmParser::emitError(), and getElementType().
|
static |
Definition at line 296 of file SPIRVOps.cpp.
References mlir::OperationState::addTypes(), mlir::OperationState::attributes, mlir::AsmParser::emitError(), mlir::AsmParser::getCurrentLocation(), mlir::OperationState::operands, mlir::AsmParser::parseColon(), mlir::OpAsmParser::parseOperandList(), mlir::AsmParser::parseOptionalAttrDict(), mlir::AsmParser::parseType(), and mlir::OpAsmParser::resolveOperands().
|
static |
Definition at line 121 of file SPIRVOps.cpp.
References mlir::OperationState::addTypes(), mlir::AsmParser::addTypeToList(), mlir::OperationState::attributes, mlir::AsmParser::emitError(), mlir::AsmParser::getCurrentLocation(), mlir::OperationState::operands, mlir::AsmParser::parseColon(), mlir::AsmParser::parseColonType(), mlir::OpAsmParser::parseOperandList(), mlir::AsmParser::parseOptionalAttrDict(), mlir::AsmParser::parseOptionalLParen(), mlir::AsmParser::parseRParen(), mlir::AsmParser::parseType(), mlir::OpAsmParser::resolveOperands(), and mlir::OperationState::types.
|
static |
|
static |
Definition at line 150 of file SPIRVOps.cpp.
References mlir::Operation::getAttrs(), mlir::Operation::getNumResults(), mlir::Operation::getOperands(), mlir::Operation::getOperandTypes(), mlir::Operation::getResult(), mlir::Value::getType(), mlir::OpAsmPrinter::printGenericOp(), mlir::OpAsmPrinter::printOperands(), and mlir::OpAsmPrinter::printOptionalAttrDict().
|
static |
Definition at line 282 of file SPIRVOps.cpp.
References mlir::getType().
|
static |
Definition at line 198 of file SPIRVOps.cpp.
References mlir::Value::getType().
|
static |
Definition at line 586 of file SPIRVOps.cpp.
|
static |
Definition at line 170 of file SPIRVOps.cpp.
References mlir::OpState::emitError().
|
static |
Definition at line 328 of file SPIRVOps.cpp.
References mlir::Operation::emitError(), mlir::Operation::getOperand(), mlir::Operation::getResult(), and mlir::Value::getType().