MLIR
20.0.0git
|
#include "mlir/Dialect/OpenACC/OpenACC.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/BuiltinTypes.h"
#include "mlir/IR/DialectImplementation.h"
#include "mlir/IR/Matchers.h"
#include "mlir/IR/OpImplementation.h"
#include "mlir/Transforms/DialectConversion.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/TypeSwitch.h"
#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 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 | 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 &bindName, mlir::ArrayAttr &deviceTypes) |
static void | printBindName (mlir::OpAsmPrinter &p, mlir::Operation *op, std::optional< mlir::ArrayAttr > bindName, std::optional< mlir::ArrayAttr > deviceTypes) |
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 2866 of file OpenACC.cpp.
#define GET_ATTRDEF_LIST |
#define GET_OP_CLASSES |
Definition at line 2863 of file OpenACC.cpp.
#define GET_OP_LIST |
#define GET_TYPEDEF_CLASSES |
Definition at line 2869 of file OpenACC.cpp.
#define GET_TYPEDEF_LIST |
|
static |
Check dataOperands for acc.parallel, acc.serial and acc.kernels.
Definition at line 677 of file OpenACC.cpp.
References mlir::OpState::emitError().
|
static |
Definition at line 2366 of file OpenACC.cpp.
References mlir::OpState::emitError(), mlir::emitError(), mlir::acc::getDataClause(), mlir::acc::getDeclareAttrName(), mlir::acc::getImplicitFlag(), mlir::OpState::getLoc(), and mlir::acc::getVarPtr().
LogicalResult checkDeviceTypes | ( | mlir::ArrayAttr | deviceTypes | ) |
Check for duplicates in the DeviceType array attribute.
Definition at line 1811 of file OpenACC.cpp.
|
static |
Definition at line 692 of file OpenACC.cpp.
References mlir::Operation::emitOpError(), and mlir::Value::getType().
|
static |
Definition at line 173 of file OpenACC.cpp.
References mlir::OpState::emitError(), and hasDeviceType().
|
static |
Definition at line 108 of file OpenACC.cpp.
Referenced by getValueInDeviceTypeSegment(), getValuesFromSegments(), getWaitDevnumValue(), and getWaitValuesWithoutDevnum().
|
static |
Definition at line 2448 of file OpenACC.cpp.
|
static |
Definition at line 830 of file OpenACC.cpp.
References findSegment().
|
static |
Definition at line 121 of file OpenACC.cpp.
References findSegment().
Referenced by getWaitDevnumValue(), and getWaitValuesWithoutDevnum().
|
static |
Definition at line 137 of file OpenACC.cpp.
References findSegment(), getValuesFromSegments(), and hasDeviceTypeValues().
|
static |
Definition at line 153 of file OpenACC.cpp.
References findSegment(), and getValuesFromSegments().
|
static |
Definition at line 83 of file OpenACC.cpp.
References hasDeviceTypeValues().
Referenced by checkWaitAndAsyncConflict().
|
static |
Definition at line 77 of file OpenACC.cpp.
Referenced by getWaitDevnumValue(), hasDeviceType(), hasOnlyDeviceTypeNone(), 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 1797 of file OpenACC.cpp.
|
static |
Definition at line 1155 of file OpenACC.cpp.
References hasDeviceTypeValues(), and None.
Referenced by printDeviceTypeOperandsWithKeywordOnly(), printGangClause(), and printWaitClause().
|
static |
Definition at line 460 of file OpenACC.cpp.
|
static |
Definition at line 2481 of file OpenACC.cpp.
References mlir::AsmParser::parseCommaSeparatedList().
|
static |
Definition at line 1320 of file OpenACC.cpp.
References mlir::AsmParser::emitError(), mlir::get(), mlir::AsmParser::getContext(), mlir::AsmParser::getCurrentLocation(), mlir::AsmParser::parseLParen(), mlir::AsmParser::parseOptionalKeyword(), and mlir::AsmParser::parseRParen().
|
static |
Definition at line 2608 of file OpenACC.cpp.
References 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 1200 of file OpenACC.cpp.
References mlir::AsmParser::parseCommaSeparatedList().
|
static |
Definition at line 1238 of file OpenACC.cpp.
References 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 1008 of file OpenACC.cpp.
References 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 1625 of file OpenACC.cpp.
References mlir::AsmParser::emitError(), 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 1606 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 2082 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 941 of file OpenACC.cpp.
References 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 446 of file OpenACC.cpp.
|
static |
Definition at line 2517 of file OpenACC.cpp.
References 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 641 of file OpenACC.cpp.
References mlir::get(), mlir::AsmParser::getContext(), and mlir::AsmParser::parseCommaSeparatedList().
|
static |
Definition at line 1071 of file OpenACC.cpp.
References 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 2507 of file OpenACC.cpp.
References printSingleDeviceType().
|
static |
Definition at line 1346 of file OpenACC.cpp.
|
static |
Definition at line 2635 of file OpenACC.cpp.
References hasDeviceTypeValues(), and None.
|
static |
Definition at line 1227 of file OpenACC.cpp.
References hasDeviceTypeValues(), and printSingleDeviceType().
Referenced by printDeviceTypeOperandsWithKeywordOnly().
|
static |
Definition at line 1300 of file OpenACC.cpp.
References hasDeviceTypeValues(), hasOnlyDeviceTypeNone(), printDeviceTypeOperands(), and printDeviceTypes().
|
static |
Definition at line 1054 of file OpenACC.cpp.
References mlir::detail::enumerate(), and printSingleDeviceType().
|
static |
Definition at line 97 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 1752 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 2113 of file OpenACC.cpp.
References mlir::Region::front(), mlir::Block::getArguments(), mlir::Value::getType(), and mlir::OpAsmPrinter::printRegion().
|
static |
Definition at line 991 of file OpenACC.cpp.
References mlir::detail::enumerate(), and printSingleDeviceType().
void printRoutineGangClause | ( | OpAsmPrinter & | p, |
Operation * | op, | ||
std::optional< mlir::ArrayAttr > | gang, | ||
std::optional< mlir::ArrayAttr > | gangDim, | ||
std::optional< mlir::ArrayAttr > | gangDimDeviceTypes | ||
) |
Definition at line 2578 of file OpenACC.cpp.
References hasDeviceTypeValues(), None, printDeviceTypes(), and printSingleDeviceType().
|
static |
Definition at line 985 of file OpenACC.cpp.
References None.
Referenced by printBindName(), printDeviceTypeOperands(), printDeviceTypeOperandsWithSegment(), printGangClause(), printNumGangs(), printRoutineGangClause(), and printWaitClause().
|
static |
Definition at line 661 of file OpenACC.cpp.
|
static |
Definition at line 1166 of file OpenACC.cpp.
References mlir::detail::enumerate(), hasDeviceTypeValues(), hasOnlyDeviceTypeNone(), printDeviceTypes(), and printSingleDeviceType().
|
static |
Definition at line 758 of file OpenACC.cpp.
References mlir::detail::DenseArrayAttrImpl< T >::asArrayRef(), and mlir::OpState::emitOpError().
|
static |
Definition at line 748 of file OpenACC.cpp.
References mlir::OpState::emitOpError().
|
static |
Definition at line 536 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().