|
MLIR
22.0.0git
|
#include "mlir/Dialect/OpenACC/OpenACC.h"#include "mlir/Dialect/Arith/IR/Arith.h"#include "mlir/Dialect/LLVMIR/LLVMDialect.h"#include "mlir/Dialect/LLVMIR/LLVMTypes.h"#include "mlir/Dialect/MemRef/IR/MemRef.h"#include "mlir/IR/Builders.h"#include "mlir/IR/BuiltinAttributes.h"#include "mlir/IR/BuiltinTypes.h"#include "mlir/IR/DialectImplementation.h"#include "mlir/IR/Matchers.h"#include "mlir/IR/OpImplementation.h"#include "mlir/IR/SymbolTable.h"#include "mlir/Support/LLVM.h"#include "mlir/Transforms/DialectConversion.h"#include "llvm/ADT/SmallSet.h"#include "llvm/ADT/TypeSwitch.h"#include "llvm/Support/LogicalResult.h"#include <variant>#include "mlir/Dialect/OpenACC/OpenACCOpsDialect.cpp.inc"#include "mlir/Dialect/OpenACC/OpenACCOpsEnums.cpp.inc"#include "mlir/Dialect/OpenACC/OpenACCOpsInterfaces.cpp.inc"#include "mlir/Dialect/OpenACC/OpenACCTypeInterfaces.cpp.inc"#include "mlir/Dialect/OpenACCMPCommon/Interfaces/OpenACCMPOpsInterfaces.cpp.inc"#include "mlir/Dialect/OpenACC/OpenACCOps.cpp.inc"#include "mlir/Dialect/OpenACC/OpenACCOpsAttributes.cpp.inc"#include "mlir/Dialect/OpenACC/OpenACCOpsTypes.cpp.inc"Go to the source code of this file.
Macros | |
| #define | GET_OP_LIST |
| #define | GET_ATTRDEF_LIST |
| #define | GET_TYPEDEF_LIST |
| #define | GET_OP_CLASSES |
| #define | GET_ATTRDEF_CLASSES |
| #define | GET_TYPEDEF_CLASSES |
Functions | |
| static bool | hasDeviceTypeValues (std::optional< mlir::ArrayAttr > arrayAttr) |
| static bool | hasDeviceType (std::optional< mlir::ArrayAttr > arrayAttr, mlir::acc::DeviceType deviceType) |
| static void | printDeviceTypes (mlir::OpAsmPrinter &p, std::optional< mlir::ArrayAttr > deviceTypes) |
| static std::optional< unsigned > | findSegment (ArrayAttr segments, mlir::acc::DeviceType deviceType) |
| static mlir::Operation::operand_range | getValuesFromSegments (std::optional< mlir::ArrayAttr > arrayAttr, mlir::Operation::operand_range range, std::optional< llvm::ArrayRef< int32_t >> segments, mlir::acc::DeviceType deviceType) |
| static mlir::Value | getWaitDevnumValue (std::optional< mlir::ArrayAttr > deviceTypeAttr, mlir::Operation::operand_range operands, std::optional< llvm::ArrayRef< int32_t >> segments, std::optional< mlir::ArrayAttr > hasWaitDevnum, mlir::acc::DeviceType deviceType) |
| static mlir::Operation::operand_range | getWaitValuesWithoutDevnum (std::optional< mlir::ArrayAttr > deviceTypeAttr, mlir::Operation::operand_range operands, std::optional< llvm::ArrayRef< int32_t >> segments, std::optional< mlir::ArrayAttr > hasWaitDevnum, mlir::acc::DeviceType deviceType) |
| template<typename Op > | |
| static LogicalResult | checkWaitAndAsyncConflict (Op op) |
| template<typename Op > | |
| static LogicalResult | checkVarAndVarType (Op op) |
| template<typename Op > | |
| static LogicalResult | checkVarAndAccVar (Op op) |
| template<typename Op > | |
| static LogicalResult | checkNoModifier (Op op) |
| template<typename Op > | |
| static LogicalResult | checkValidModifier (Op op, acc::DataClauseModifier validModifiers) |
| static ParseResult | parseVar (mlir::OpAsmParser &parser, OpAsmParser::UnresolvedOperand &var) |
| static void | printVar (mlir::OpAsmPrinter &p, mlir::Operation *op, mlir::Value var) |
| static ParseResult | parseAccVar (mlir::OpAsmParser &parser, OpAsmParser::UnresolvedOperand &var, mlir::Type &accVarType) |
| static void | printAccVar (mlir::OpAsmPrinter &p, mlir::Operation *op, mlir::Value accVar, mlir::Type accVarType) |
| static ParseResult | parseVarPtrType (mlir::OpAsmParser &parser, mlir::Type &varPtrType, mlir::TypeAttr &varTypeAttr) |
| static void | printVarPtrType (mlir::OpAsmPrinter &p, mlir::Operation *op, mlir::Type varPtrType, mlir::TypeAttr varTypeAttr) |
| template<typename StructureOp > | |
| static ParseResult | parseRegions (OpAsmParser &parser, OperationState &state, unsigned nRegions=1) |
| static bool | isComputeOperation (Operation *op) |
| static LogicalResult | verifyInitLikeSingleArgRegion (Operation *op, Region ®ion, StringRef regionType, StringRef regionName, Type type, bool verifyYield, bool optional=false) |
| static ParseResult | parseSymOperandList (mlir::OpAsmParser &parser, llvm::SmallVectorImpl< mlir::OpAsmParser::UnresolvedOperand > &operands, llvm::SmallVectorImpl< Type > &types, mlir::ArrayAttr &symbols) |
| static void | printSymOperandList (mlir::OpAsmPrinter &p, mlir::Operation *op, mlir::OperandRange operands, mlir::TypeRange types, std::optional< mlir::ArrayAttr > attributes) |
| template<typename Op > | |
| static LogicalResult | checkDataOperands (Op op, const mlir::ValueRange &operands) |
| Check dataOperands for acc.parallel, acc.serial and acc.kernels. More... | |
| template<typename Op > | |
| static LogicalResult | checkSymOperandList (Operation *op, std::optional< mlir::ArrayAttr > attributes, mlir::OperandRange operands, llvm::StringRef operandName, llvm::StringRef symbolName, bool checkOperandType=true) |
| template<typename Op > | |
| static LogicalResult | verifyDeviceTypeCountMatch (Op op, OperandRange operands, ArrayAttr deviceTypes, llvm::StringRef keyword) |
| template<typename Op > | |
| static LogicalResult | verifyDeviceTypeAndSegmentCountMatch (Op op, OperandRange operands, DenseI32ArrayAttr segments, ArrayAttr deviceTypes, llvm::StringRef keyword, int32_t maxInSegment=0) |
| static mlir::Value | getValueInDeviceTypeSegment (std::optional< mlir::ArrayAttr > arrayAttr, mlir::Operation::operand_range range, mlir::acc::DeviceType deviceType) |
| static ParseResult | parseNumGangs (mlir::OpAsmParser &parser, llvm::SmallVectorImpl< mlir::OpAsmParser::UnresolvedOperand > &operands, llvm::SmallVectorImpl< Type > &types, mlir::ArrayAttr &deviceTypes, mlir::DenseI32ArrayAttr &segments) |
| static void | printSingleDeviceType (mlir::OpAsmPrinter &p, mlir::Attribute attr) |
| static void | printNumGangs (mlir::OpAsmPrinter &p, mlir::Operation *op, mlir::OperandRange operands, mlir::TypeRange types, std::optional< mlir::ArrayAttr > deviceTypes, std::optional< mlir::DenseI32ArrayAttr > segments) |
| static ParseResult | parseDeviceTypeOperandsWithSegment (mlir::OpAsmParser &parser, llvm::SmallVectorImpl< mlir::OpAsmParser::UnresolvedOperand > &operands, llvm::SmallVectorImpl< Type > &types, mlir::ArrayAttr &deviceTypes, mlir::DenseI32ArrayAttr &segments) |
| static void | printDeviceTypeOperandsWithSegment (mlir::OpAsmPrinter &p, mlir::Operation *op, mlir::OperandRange operands, mlir::TypeRange types, std::optional< mlir::ArrayAttr > deviceTypes, std::optional< mlir::DenseI32ArrayAttr > segments) |
| static ParseResult | parseWaitClause (mlir::OpAsmParser &parser, llvm::SmallVectorImpl< mlir::OpAsmParser::UnresolvedOperand > &operands, llvm::SmallVectorImpl< Type > &types, mlir::ArrayAttr &deviceTypes, mlir::DenseI32ArrayAttr &segments, mlir::ArrayAttr &hasDevNum, mlir::ArrayAttr &keywordOnly) |
| static bool | hasOnlyDeviceTypeNone (std::optional< mlir::ArrayAttr > attrs) |
| static void | printWaitClause (mlir::OpAsmPrinter &p, mlir::Operation *op, mlir::OperandRange operands, mlir::TypeRange types, std::optional< mlir::ArrayAttr > deviceTypes, std::optional< mlir::DenseI32ArrayAttr > segments, std::optional< mlir::ArrayAttr > hasDevNum, std::optional< mlir::ArrayAttr > keywordOnly) |
| static ParseResult | parseDeviceTypeOperands (mlir::OpAsmParser &parser, llvm::SmallVectorImpl< mlir::OpAsmParser::UnresolvedOperand > &operands, llvm::SmallVectorImpl< Type > &types, mlir::ArrayAttr &deviceTypes) |
| static void | printDeviceTypeOperands (mlir::OpAsmPrinter &p, mlir::Operation *op, mlir::OperandRange operands, mlir::TypeRange types, std::optional< mlir::ArrayAttr > deviceTypes) |
| static ParseResult | parseDeviceTypeOperandsWithKeywordOnly (mlir::OpAsmParser &parser, llvm::SmallVectorImpl< mlir::OpAsmParser::UnresolvedOperand > &operands, llvm::SmallVectorImpl< Type > &types, mlir::ArrayAttr &deviceTypes, mlir::ArrayAttr &keywordOnlyDeviceType) |
| static void | printDeviceTypeOperandsWithKeywordOnly (mlir::OpAsmPrinter &p, mlir::Operation *op, mlir::OperandRange operands, mlir::TypeRange types, std::optional< mlir::ArrayAttr > deviceTypes, std::optional< mlir::ArrayAttr > keywordOnlyDeviceTypes) |
| static ParseResult | parseOperandWithKeywordOnly (mlir::OpAsmParser &parser, std::optional< OpAsmParser::UnresolvedOperand > &operand, mlir::Type &operandType, mlir::UnitAttr &attr) |
| static void | printOperandWithKeywordOnly (mlir::OpAsmPrinter &p, mlir::Operation *op, std::optional< mlir::Value > operand, mlir::Type operandType, mlir::UnitAttr attr) |
| static ParseResult | parseOperandsWithKeywordOnly (mlir::OpAsmParser &parser, llvm::SmallVectorImpl< mlir::OpAsmParser::UnresolvedOperand > &operands, llvm::SmallVectorImpl< Type > &types, mlir::UnitAttr &attr) |
| static void | printOperandsWithKeywordOnly (mlir::OpAsmPrinter &p, mlir::Operation *op, mlir::OperandRange operands, mlir::TypeRange types, mlir::UnitAttr attr) |
| static ParseResult | parseCombinedConstructsLoop (mlir::OpAsmParser &parser, mlir::acc::CombinedConstructsTypeAttr &attr) |
| static void | printCombinedConstructsLoop (mlir::OpAsmPrinter &p, mlir::Operation *op, mlir::acc::CombinedConstructsTypeAttr attr) |
| static ParseResult | parseGangValue (OpAsmParser &parser, llvm::StringRef keyword, llvm::SmallVectorImpl< mlir::OpAsmParser::UnresolvedOperand > &operands, llvm::SmallVectorImpl< Type > &types, llvm::SmallVector< GangArgTypeAttr > &attributes, GangArgTypeAttr gangArgType, bool &needCommaBetweenValues, bool &newValue) |
| static ParseResult | parseGangClause (OpAsmParser &parser, llvm::SmallVectorImpl< mlir::OpAsmParser::UnresolvedOperand > &gangOperands, llvm::SmallVectorImpl< Type > &gangOperandsType, mlir::ArrayAttr &gangArgType, mlir::ArrayAttr &deviceType, mlir::DenseI32ArrayAttr &segments, mlir::ArrayAttr &gangOnlyDeviceType) |
| void | printGangClause (OpAsmPrinter &p, Operation *op, mlir::OperandRange operands, mlir::TypeRange types, std::optional< mlir::ArrayAttr > gangArgTypes, std::optional< mlir::ArrayAttr > deviceTypes, std::optional< mlir::DenseI32ArrayAttr > segments, std::optional< mlir::ArrayAttr > gangOnlyDeviceTypes) |
| bool | hasDuplicateDeviceTypes (std::optional< mlir::ArrayAttr > segments, llvm::SmallSet< mlir::acc::DeviceType, 3 > &deviceTypes) |
| LogicalResult | checkDeviceTypes (mlir::ArrayAttr deviceTypes) |
| Check for duplicates in the DeviceType array attribute. More... | |
| ParseResult | parseLoopControl (OpAsmParser &parser, Region ®ion, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &lowerbound, SmallVectorImpl< Type > &lowerboundType, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &upperbound, SmallVectorImpl< Type > &upperboundType, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &step, SmallVectorImpl< Type > &stepType) |
loop-control ::= control ( ssa-id-and-type-list ) = ( ssa-id-and-type-list ) to ( ssa-id-and-type-list ) step ( ssa-id-and-type-list ) region More... | |
| void | printLoopControl (OpAsmPrinter &p, Operation *op, Region ®ion, ValueRange lowerbound, TypeRange lowerboundType, ValueRange upperbound, TypeRange upperboundType, ValueRange steps, TypeRange stepType) |
| template<typename Op > | |
| static LogicalResult | checkDeclareOperands (Op &op, const mlir::ValueRange &operands, bool requireAtLeastOneOperand=true) |
| static unsigned | getParallelismForDeviceType (acc::RoutineOp op, acc::DeviceType dtype) |
| static ParseResult | parseBindName (OpAsmParser &parser, mlir::ArrayAttr &bindIdName, mlir::ArrayAttr &bindStrName, mlir::ArrayAttr &deviceIdTypes, mlir::ArrayAttr &deviceStrTypes) |
| static void | printBindName (mlir::OpAsmPrinter &p, mlir::Operation *op, std::optional< mlir::ArrayAttr > bindIdName, std::optional< mlir::ArrayAttr > bindStrName, std::optional< mlir::ArrayAttr > deviceIdTypes, std::optional< mlir::ArrayAttr > deviceStrTypes) |
| static ParseResult | parseRoutineGangClause (OpAsmParser &parser, mlir::ArrayAttr &gang, mlir::ArrayAttr &gangDim, mlir::ArrayAttr &gangDimDeviceTypes) |
| void | printRoutineGangClause (OpAsmPrinter &p, Operation *op, std::optional< mlir::ArrayAttr > gang, std::optional< mlir::ArrayAttr > gangDim, std::optional< mlir::ArrayAttr > gangDimDeviceTypes) |
| static ParseResult | parseDeviceTypeArrayAttr (OpAsmParser &parser, mlir::ArrayAttr &deviceTypes) |
| static void | printDeviceTypeArrayAttr (mlir::OpAsmPrinter &p, mlir::Operation *op, std::optional< mlir::ArrayAttr > deviceTypes) |
| #define GET_ATTRDEF_CLASSES |
Definition at line 4505 of file OpenACC.cpp.
| #define GET_ATTRDEF_LIST |
| #define GET_OP_CLASSES |
Definition at line 4502 of file OpenACC.cpp.
| #define GET_OP_LIST |
| #define GET_TYPEDEF_CLASSES |
Definition at line 4508 of file OpenACC.cpp.
| #define GET_TYPEDEF_LIST |
|
static |
Check dataOperands for acc.parallel, acc.serial and acc.kernels.
Definition at line 1415 of file OpenACC.cpp.
References mlir::OpState::emitError().
|
static |
Definition at line 3904 of file OpenACC.cpp.
References mlir::OpState::emitError(), mlir::emitError(), mlir::acc::getDataClause(), mlir::OpState::getLoc(), and mlir::acc::getVar().
| LogicalResult checkDeviceTypes | ( | mlir::ArrayAttr | deviceTypes | ) |
Check for duplicates in the DeviceType array attribute.
Definition at line 2902 of file OpenACC.cpp.
|
static |
Definition at line 453 of file OpenACC.cpp.
References mlir::OpState::emitError().
|
static |
Definition at line 1430 of file OpenACC.cpp.
References mlir::Operation::emitOpError(), and mlir::Value::getType().
|
static |
Definition at line 461 of file OpenACC.cpp.
References mlir::OpState::emitError().
|
static |
Definition at line 445 of file OpenACC.cpp.
References mlir::OpState::emitError().
|
static |
Definition at line 427 of file OpenACC.cpp.
References mlir::OpState::emitError().
|
static |
Definition at line 405 of file OpenACC.cpp.
References mlir::OpState::emitError(), and hasDeviceType().
|
static |
Definition at line 340 of file OpenACC.cpp.
Referenced by getValueInDeviceTypeSegment(), getValuesFromSegments(), getWaitDevnumValue(), and getWaitValuesWithoutDevnum().
|
static |
Definition at line 3963 of file OpenACC.cpp.
|
static |
Definition at line 1568 of file OpenACC.cpp.
References findSegment().
|
static |
Definition at line 353 of file OpenACC.cpp.
References findSegment().
Referenced by getWaitDevnumValue(), and getWaitValuesWithoutDevnum().
|
static |
Definition at line 369 of file OpenACC.cpp.
References findSegment(), getValuesFromSegments(), and hasDeviceTypeValues().
|
static |
Definition at line 385 of file OpenACC.cpp.
References findSegment(), and getValuesFromSegments().
|
static |
Definition at line 315 of file OpenACC.cpp.
References hasDeviceTypeValues().
Referenced by checkWaitAndAsyncConflict().
|
static |
Definition at line 311 of file OpenACC.cpp.
Referenced by getWaitDevnumValue(), hasDeviceType(), hasOnlyDeviceTypeNone(), printBindName(), printDeviceTypeArrayAttr(), printDeviceTypeOperands(), printDeviceTypeOperandsWithKeywordOnly(), printDeviceTypes(), printGangClause(), printRoutineGangClause(), and printWaitClause().
| bool hasDuplicateDeviceTypes | ( | std::optional< mlir::ArrayAttr > | segments, |
| llvm::SmallSet< mlir::acc::DeviceType, 3 > & | deviceTypes | ||
| ) |
Definition at line 2888 of file OpenACC.cpp.
|
static |
Definition at line 2008 of file OpenACC.cpp.
References hasDeviceTypeValues(), and None.
Referenced by printDeviceTypeOperandsWithKeywordOnly(), printGangClause(), and printWaitClause().
|
static |
Definition at line 975 of file OpenACC.cpp.
|
static |
Definition at line 494 of file OpenACC.cpp.
References mlir::remark::failed(), mlir::AsmParser::parseColon(), mlir::AsmParser::parseKeyword(), mlir::AsmParser::parseLParen(), mlir::OpAsmParser::parseOperand(), mlir::AsmParser::parseOptionalKeyword(), mlir::AsmParser::parseRParen(), and mlir::AsmParser::parseType().
|
static |
Definition at line 3996 of file OpenACC.cpp.
References mlir::remark::failed(), mlir::AsmParser::parseCommaSeparatedList(), and mlir::AsmParser::parseOptionalLSquare().
|
static |
Definition at line 2259 of file OpenACC.cpp.
References mlir::AsmParser::emitError(), mlir::get(), mlir::AsmParser::getContext(), mlir::AsmParser::getCurrentLocation(), and mlir::AsmParser::parseOptionalKeyword().
|
static |
Definition at line 4171 of file OpenACC.cpp.
References mlir::remark::failed(), mlir::get(), mlir::AsmParser::getContext(), None, mlir::AsmParser::parseCommaSeparatedList(), mlir::AsmParser::parseOptionalLParen(), mlir::AsmParser::parseOptionalLSquare(), mlir::AsmParser::parseRParen(), and mlir::AsmParser::parseRSquare().
|
static |
Definition at line 2055 of file OpenACC.cpp.
References mlir::remark::failed(), and mlir::AsmParser::parseCommaSeparatedList().
|
static |
Definition at line 2093 of file OpenACC.cpp.
References mlir::remark::failed(), mlir::get(), mlir::AsmParser::getContext(), None, mlir::AsmParser::parseComma(), mlir::AsmParser::parseCommaSeparatedList(), mlir::AsmParser::parseOptionalLParen(), mlir::AsmParser::parseOptionalLSquare(), and mlir::AsmParser::parseRSquare().
|
static |
Definition at line 1861 of file OpenACC.cpp.
References mlir::remark::failed(), mlir::detail::DenseArrayAttrImpl< int32_t >::get(), mlir::get(), mlir::AsmParser::getContext(), mlir::AsmParser::None, None, mlir::AsmParser::parseAttribute(), mlir::AsmParser::parseCommaSeparatedList(), mlir::AsmParser::parseLBrace(), mlir::AsmParser::parseOptionalComma(), mlir::AsmParser::parseOptionalLSquare(), mlir::AsmParser::parseRBrace(), and mlir::AsmParser::parseRSquare().
|
static |
Definition at line 2716 of file OpenACC.cpp.
References mlir::AsmParser::emitError(), mlir::remark::failed(), mlir::get(), mlir::AsmParser::getContext(), mlir::AsmParser::getCurrentLocation(), None, mlir::AsmParser::parseAttribute(), mlir::AsmParser::parseCommaSeparatedList(), parseGangValue(), mlir::AsmParser::parseLBrace(), mlir::AsmParser::parseOptionalComma(), mlir::AsmParser::parseOptionalLParen(), mlir::AsmParser::parseOptionalLSquare(), mlir::AsmParser::parseRBrace(), mlir::AsmParser::parseRParen(), and mlir::AsmParser::parseRSquare().
|
static |
Definition at line 2697 of file OpenACC.cpp.
References mlir::AsmParser::parseColonType(), mlir::AsmParser::parseEqual(), mlir::OpAsmParser::parseOperand(), and mlir::AsmParser::parseOptionalKeyword().
Referenced by parseGangClause().
| ParseResult parseLoopControl | ( | OpAsmParser & | parser, |
| Region & | region, | ||
| SmallVectorImpl< OpAsmParser::UnresolvedOperand > & | lowerbound, | ||
| SmallVectorImpl< Type > & | lowerboundType, | ||
| SmallVectorImpl< OpAsmParser::UnresolvedOperand > & | upperbound, | ||
| SmallVectorImpl< Type > & | upperboundType, | ||
| SmallVectorImpl< OpAsmParser::UnresolvedOperand > & | step, | ||
| SmallVectorImpl< Type > & | stepType | ||
| ) |
loop-control ::= control ( ssa-id-and-type-list ) = ( ssa-id-and-type-list ) to ( ssa-id-and-type-list ) step ( ssa-id-and-type-list ) region
Definition at line 3253 of file OpenACC.cpp.
References None, mlir::OpAsmParser::parseArgumentList(), mlir::AsmParser::parseColonTypeList(), mlir::AsmParser::parseEqual(), mlir::AsmParser::parseKeyword(), mlir::AsmParser::parseLParen(), mlir::OpAsmParser::parseOperandList(), mlir::AsmParser::parseOptionalKeyword(), mlir::OpAsmParser::parseRegion(), and mlir::AsmParser::parseRParen().
|
static |
Definition at line 1794 of file OpenACC.cpp.
References mlir::remark::failed(), mlir::detail::DenseArrayAttrImpl< int32_t >::get(), mlir::get(), mlir::AsmParser::getContext(), mlir::AsmParser::None, None, mlir::AsmParser::parseAttribute(), mlir::AsmParser::parseCommaSeparatedList(), mlir::AsmParser::parseLBrace(), mlir::AsmParser::parseOptionalComma(), mlir::AsmParser::parseOptionalLSquare(), mlir::AsmParser::parseRBrace(), and mlir::AsmParser::parseRSquare().
|
static |
Definition at line 2213 of file OpenACC.cpp.
References mlir::remark::failed(), mlir::get(), mlir::AsmParser::getContext(), mlir::AsmParser::parseColon(), mlir::AsmParser::parseCommaSeparatedList(), mlir::AsmParser::parseOptionalLParen(), and mlir::AsmParser::parseRParen().
|
static |
Definition at line 2174 of file OpenACC.cpp.
References mlir::remark::failed(), mlir::get(), mlir::AsmParser::getContext(), mlir::AsmParser::parseColon(), mlir::OpAsmParser::parseOperand(), mlir::AsmParser::parseOptionalLParen(), mlir::AsmParser::parseRParen(), and mlir::AsmParser::parseType().
|
static |
Definition at line 961 of file OpenACC.cpp.
|
static |
Definition at line 4080 of file OpenACC.cpp.
References mlir::remark::failed(), mlir::get(), mlir::AsmParser::getContext(), None, mlir::AsmParser::parseComma(), mlir::AsmParser::parseCommaSeparatedList(), mlir::AsmParser::parseOptionalLParen(), mlir::AsmParser::parseOptionalLSquare(), and mlir::AsmParser::parseRSquare().
|
static |
Definition at line 1379 of file OpenACC.cpp.
References mlir::remark::failed(), mlir::get(), mlir::AsmParser::getContext(), and mlir::AsmParser::parseCommaSeparatedList().
|
static |
Definition at line 470 of file OpenACC.cpp.
References mlir::remark::failed(), mlir::AsmParser::parseKeyword(), mlir::AsmParser::parseLParen(), mlir::OpAsmParser::parseOperand(), and mlir::AsmParser::parseOptionalKeyword().
|
static |
Definition at line 528 of file OpenACC.cpp.
References mlir::remark::failed(), mlir::get(), getElementType(), mlir::AsmParser::parseLParen(), mlir::AsmParser::parseOptionalKeyword(), mlir::AsmParser::parseRParen(), and mlir::AsmParser::parseType().
|
static |
Definition at line 1924 of file OpenACC.cpp.
References mlir::remark::failed(), mlir::detail::DenseArrayAttrImpl< int32_t >::get(), mlir::BoolAttr::get(), mlir::get(), mlir::AsmParser::getContext(), mlir::AsmParser::None, None, mlir::AsmParser::parseAttribute(), mlir::AsmParser::parseColon(), mlir::AsmParser::parseComma(), mlir::AsmParser::parseCommaSeparatedList(), mlir::AsmParser::parseLBrace(), mlir::AsmParser::parseOptionalComma(), mlir::AsmParser::parseOptionalKeyword(), mlir::AsmParser::parseOptionalLParen(), mlir::AsmParser::parseOptionalLSquare(), mlir::AsmParser::parseRBrace(), mlir::AsmParser::parseRParen(), and mlir::AsmParser::parseRSquare().
|
static |
Definition at line 516 of file OpenACC.cpp.
References mlir::Value::getType(), mlir::OpAsmPrinter::printOperand(), and mlir::AsmPrinter::printType().
|
static |
Definition at line 4050 of file OpenACC.cpp.
References hasDeviceTypeValues(), and printSingleDeviceType().
|
static |
Definition at line 2279 of file OpenACC.cpp.
|
static |
Definition at line 4198 of file OpenACC.cpp.
References hasDeviceTypeValues(), and None.
|
static |
Definition at line 2082 of file OpenACC.cpp.
References hasDeviceTypeValues(), and printSingleDeviceType().
Referenced by printDeviceTypeOperandsWithKeywordOnly().
|
static |
Definition at line 2155 of file OpenACC.cpp.
References hasDeviceTypeValues(), hasOnlyDeviceTypeNone(), printDeviceTypeOperands(), and printDeviceTypes().
|
static |
Definition at line 1907 of file OpenACC.cpp.
References mlir::detail::enumerate(), and printSingleDeviceType().
|
static |
Definition at line 329 of file OpenACC.cpp.
References hasDeviceTypeValues().
Referenced by printDeviceTypeOperandsWithKeywordOnly(), printGangClause(), printRoutineGangClause(), and printWaitClause().
| void printGangClause | ( | OpAsmPrinter & | p, |
| Operation * | op, | ||
| mlir::OperandRange | operands, | ||
| mlir::TypeRange | types, | ||
| std::optional< mlir::ArrayAttr > | gangArgTypes, | ||
| std::optional< mlir::ArrayAttr > | deviceTypes, | ||
| std::optional< mlir::DenseI32ArrayAttr > | segments, | ||
| std::optional< mlir::ArrayAttr > | gangOnlyDeviceTypes | ||
| ) |
Definition at line 2843 of file OpenACC.cpp.
References mlir::detail::enumerate(), hasDeviceTypeValues(), hasOnlyDeviceTypeNone(), printDeviceTypes(), and printSingleDeviceType().
| void printLoopControl | ( | OpAsmPrinter & | p, |
| Operation * | op, | ||
| Region & | region, | ||
| ValueRange | lowerbound, | ||
| TypeRange | lowerboundType, | ||
| ValueRange | upperbound, | ||
| TypeRange | upperboundType, | ||
| ValueRange | steps, | ||
| TypeRange | stepType | ||
| ) |
Definition at line 3284 of file OpenACC.cpp.
References mlir::Region::front(), mlir::Block::getArguments(), mlir::Value::getType(), and mlir::OpAsmPrinter::printRegion().
|
static |
Definition at line 1844 of file OpenACC.cpp.
References mlir::detail::enumerate(), and printSingleDeviceType().
|
static |
Definition at line 2243 of file OpenACC.cpp.
|
static |
Definition at line 2198 of file OpenACC.cpp.
References mlir::OpAsmPrinter::printOperand(), and mlir::AsmPrinter::printType().
| void printRoutineGangClause | ( | OpAsmPrinter & | p, |
| Operation * | op, | ||
| std::optional< mlir::ArrayAttr > | gang, | ||
| std::optional< mlir::ArrayAttr > | gangDim, | ||
| std::optional< mlir::ArrayAttr > | gangDimDeviceTypes | ||
| ) |
Definition at line 4141 of file OpenACC.cpp.
References hasDeviceTypeValues(), None, printDeviceTypes(), and printSingleDeviceType().
|
static |
Definition at line 1838 of file OpenACC.cpp.
References None.
Referenced by printBindName(), printDeviceTypeOperands(), printDeviceTypeOperandsWithSegment(), printGangClause(), printNumGangs(), printRoutineGangClause(), and printWaitClause().
|
static |
Definition at line 1399 of file OpenACC.cpp.
|
static |
Definition at line 485 of file OpenACC.cpp.
References mlir::Value::getType(), and mlir::OpAsmPrinter::printOperand().
|
static |
Definition at line 557 of file OpenACC.cpp.
References mlir::AsmPrinter::printType().
|
static |
Definition at line 2019 of file OpenACC.cpp.
References mlir::detail::enumerate(), hasDeviceTypeValues(), hasOnlyDeviceTypeNone(), printDeviceTypes(), and printSingleDeviceType().
|
static |
Definition at line 1496 of file OpenACC.cpp.
References mlir::detail::DenseArrayAttrImpl< T >::asArrayRef(), and mlir::OpState::emitOpError().
|
static |
Definition at line 1486 of file OpenACC.cpp.
References mlir::OpState::emitOpError().
|
static |
Definition at line 1183 of file OpenACC.cpp.
References mlir::Operation::emitOpError(), mlir::Region::empty(), mlir::Region::front(), mlir::Block::getArgument(), mlir::Block::getNumArguments(), mlir::Region::getOps(), mlir::Value::getType(), and verifyYield().