MLIR
20.0.0git
|
#include "mlir/Dialect/OpenMP/OpenMPDialect.h"
#include "mlir/Conversion/ConvertToLLVM/ToLLVMInterface.h"
#include "mlir/Dialect/Func/IR/FuncOps.h"
#include "mlir/Dialect/LLVMIR/LLVMTypes.h"
#include "mlir/Dialect/OpenACCMPCommon/Interfaces/AtomicInterfaces.h"
#include "mlir/IR/Attributes.h"
#include "mlir/IR/BuiltinAttributes.h"
#include "mlir/IR/DialectImplementation.h"
#include "mlir/IR/OpImplementation.h"
#include "mlir/IR/OperationSupport.h"
#include "mlir/Interfaces/FoldInterfaces.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/BitVector.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/STLForwardCompat.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/TypeSwitch.h"
#include "llvm/Frontend/OpenMP/OMPConstants.h"
#include <cstddef>
#include <iterator>
#include <optional>
#include <variant>
#include "mlir/Dialect/OpenMP/OpenMPOpsDialect.cpp.inc"
#include "mlir/Dialect/OpenMP/OpenMPOpsEnums.cpp.inc"
#include "mlir/Dialect/OpenMP/OpenMPOpsInterfaces.cpp.inc"
#include "mlir/Dialect/OpenMP/OpenMPTypeInterfaces.cpp.inc"
#include "mlir/Dialect/OpenMP/OpenMPOps.cpp.inc"
#include "mlir/Dialect/OpenMP/OpenMPOpsAttributes.cpp.inc"
#include "mlir/Dialect/OpenMP/OpenMPOpsTypes.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_ATTRDEF_CLASSES |
#define | GET_OP_CLASSES |
#define | GET_TYPEDEF_CLASSES |
Functions | |
static ArrayAttr | makeArrayAttr (MLIRContext *context, llvm::ArrayRef< Attribute > attrs) |
static DenseBoolArrayAttr | makeDenseBoolArrayAttr (MLIRContext *ctx, const ArrayRef< bool > boolArray) |
static ParseResult | parseAllocateAndAllocator (OpAsmParser &parser, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &allocateVars, SmallVectorImpl< Type > &allocateTypes, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &allocatorVars, SmallVectorImpl< Type > &allocatorTypes) |
Parse an allocate clause with allocators and a list of operands with types. More... | |
static void | printAllocateAndAllocator (OpAsmPrinter &p, Operation *op, OperandRange allocateVars, TypeRange allocateTypes, OperandRange allocatorVars, TypeRange allocatorTypes) |
Print allocate clause. More... | |
template<typename ClauseAttr > | |
static ParseResult | parseClauseAttr (AsmParser &parser, ClauseAttr &attr) |
template<typename ClauseAttr > | |
void | printClauseAttr (OpAsmPrinter &p, Operation *op, ClauseAttr attr) |
static ParseResult | parseLinearClause (OpAsmParser &parser, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &linearVars, SmallVectorImpl< Type > &linearTypes, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &linearStepVars) |
linear ::= linear ( linear-list ) linear-list := linear-val | linear-val linear-list linear-val := ssa-id-and-type = ssa-id-and-type More... | |
static void | printLinearClause (OpAsmPrinter &p, Operation *op, ValueRange linearVars, TypeRange linearTypes, ValueRange linearStepVars) |
Print Linear Clause. More... | |
static LogicalResult | verifyNontemporalClause (Operation *op, OperandRange nontemporalVars) |
static LogicalResult | verifyAlignedClause (Operation *op, std::optional< ArrayAttr > alignments, OperandRange alignedVars) |
static ParseResult | parseAlignedClause (OpAsmParser &parser, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &alignedVars, SmallVectorImpl< Type > &alignedTypes, ArrayAttr &alignmentsAttr) |
aligned ::= aligned ( aligned-list ) aligned-list := aligned-val | aligned-val aligned-list aligned-val := ssa-id-and-type -> alignment More... | |
static void | printAlignedClause (OpAsmPrinter &p, Operation *op, ValueRange alignedVars, TypeRange alignedTypes, std::optional< ArrayAttr > alignments) |
Print Aligned Clause. More... | |
static ParseResult | verifyScheduleModifiers (OpAsmParser &parser, SmallVectorImpl< SmallString< 12 >> &modifiers) |
static ParseResult | parseScheduleClause (OpAsmParser &parser, ClauseScheduleKindAttr &scheduleAttr, ScheduleModifierAttr &scheduleMod, UnitAttr &scheduleSimd, std::optional< OpAsmParser::UnresolvedOperand > &chunkSize, Type &chunkType) |
schedule ::= schedule ( sched-list ) sched-list ::= sched-val | sched-val sched-list | sched-val , sched-modifier sched-val ::= sched-with-chunk | sched-wo-chunk sched-with-chunk ::= sched-with-chunk-types (= ssa-id-and-type)? sched-with-chunk-types ::= static | dynamic | guided sched-wo-chunk ::= auto | runtime sched-modifier ::= sched-mod-val | sched-mod-val , sched-mod-val sched-mod-val ::= monotonic | nonmonotonic | simd | none More... | |
static void | printScheduleClause (OpAsmPrinter &p, Operation *op, ClauseScheduleKindAttr scheduleKind, ScheduleModifierAttr scheduleMod, UnitAttr scheduleSimd, Value scheduleChunk, Type scheduleChunkType) |
Print schedule clause. More... | |
static ParseResult | parseOrderClause (OpAsmParser &parser, ClauseOrderKindAttr &order, OrderModifierAttr &orderMod) |
static void | printOrderClause (OpAsmPrinter &p, Operation *op, ClauseOrderKindAttr order, OrderModifierAttr orderMod) |
static ParseResult | parseClauseWithRegionArgs (OpAsmParser &parser, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &operands, SmallVectorImpl< Type > &types, SmallVectorImpl< OpAsmParser::Argument > ®ionPrivateArgs, ArrayAttr *symbols=nullptr, DenseBoolArrayAttr *byref=nullptr) |
static ParseResult | parseBlockArgClause (OpAsmParser &parser, llvm::SmallVectorImpl< OpAsmParser::Argument > &entryBlockArgs, StringRef keyword, std::optional< MapParseArgs > mapArgs) |
static ParseResult | parseBlockArgClause (OpAsmParser &parser, llvm::SmallVectorImpl< OpAsmParser::Argument > &entryBlockArgs, StringRef keyword, std::optional< PrivateParseArgs > reductionArgs) |
static ParseResult | parseBlockArgClause (OpAsmParser &parser, llvm::SmallVectorImpl< OpAsmParser::Argument > &entryBlockArgs, StringRef keyword, std::optional< ReductionParseArgs > reductionArgs) |
static ParseResult | parseBlockArgRegion (OpAsmParser &parser, Region ®ion, AllRegionParseArgs args) |
static ParseResult | parseInReductionMapPrivateRegion (OpAsmParser &parser, Region ®ion, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &inReductionVars, SmallVectorImpl< Type > &inReductionTypes, DenseBoolArrayAttr &inReductionByref, ArrayAttr &inReductionSyms, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &mapVars, SmallVectorImpl< Type > &mapTypes, llvm::SmallVectorImpl< OpAsmParser::UnresolvedOperand > &privateVars, llvm::SmallVectorImpl< Type > &privateTypes, ArrayAttr &privateSyms) |
static ParseResult | parseInReductionPrivateRegion (OpAsmParser &parser, Region ®ion, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &inReductionVars, SmallVectorImpl< Type > &inReductionTypes, DenseBoolArrayAttr &inReductionByref, ArrayAttr &inReductionSyms, llvm::SmallVectorImpl< OpAsmParser::UnresolvedOperand > &privateVars, llvm::SmallVectorImpl< Type > &privateTypes, ArrayAttr &privateSyms) |
static ParseResult | parseInReductionPrivateReductionRegion (OpAsmParser &parser, Region ®ion, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &inReductionVars, SmallVectorImpl< Type > &inReductionTypes, DenseBoolArrayAttr &inReductionByref, ArrayAttr &inReductionSyms, llvm::SmallVectorImpl< OpAsmParser::UnresolvedOperand > &privateVars, llvm::SmallVectorImpl< Type > &privateTypes, ArrayAttr &privateSyms, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &reductionVars, SmallVectorImpl< Type > &reductionTypes, DenseBoolArrayAttr &reductionByref, ArrayAttr &reductionSyms) |
static ParseResult | parsePrivateRegion (OpAsmParser &parser, Region ®ion, llvm::SmallVectorImpl< OpAsmParser::UnresolvedOperand > &privateVars, llvm::SmallVectorImpl< Type > &privateTypes, ArrayAttr &privateSyms) |
static ParseResult | parsePrivateReductionRegion (OpAsmParser &parser, Region ®ion, llvm::SmallVectorImpl< OpAsmParser::UnresolvedOperand > &privateVars, llvm::SmallVectorImpl< Type > &privateTypes, ArrayAttr &privateSyms, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &reductionVars, SmallVectorImpl< Type > &reductionTypes, DenseBoolArrayAttr &reductionByref, ArrayAttr &reductionSyms) |
static ParseResult | parseTaskReductionRegion (OpAsmParser &parser, Region ®ion, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &taskReductionVars, SmallVectorImpl< Type > &taskReductionTypes, DenseBoolArrayAttr &taskReductionByref, ArrayAttr &taskReductionSyms) |
static ParseResult | parseUseDeviceAddrUseDevicePtrRegion (OpAsmParser &parser, Region ®ion, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &useDeviceAddrVars, SmallVectorImpl< Type > &useDeviceAddrTypes, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &useDevicePtrVars, SmallVectorImpl< Type > &useDevicePtrTypes) |
static void | printClauseWithRegionArgs (OpAsmPrinter &p, MLIRContext *ctx, StringRef clauseName, ValueRange argsSubrange, ValueRange operands, TypeRange types, ArrayAttr symbols=nullptr, DenseBoolArrayAttr byref=nullptr) |
static void | printBlockArgClause (OpAsmPrinter &p, MLIRContext *ctx, StringRef clauseName, ValueRange argsSubrange, std::optional< MapPrintArgs > mapArgs) |
static void | printBlockArgClause (OpAsmPrinter &p, MLIRContext *ctx, StringRef clauseName, ValueRange argsSubrange, std::optional< PrivatePrintArgs > privateArgs) |
static void | printBlockArgClause (OpAsmPrinter &p, MLIRContext *ctx, StringRef clauseName, ValueRange argsSubrange, std::optional< ReductionPrintArgs > reductionArgs) |
static void | printBlockArgRegion (OpAsmPrinter &p, Operation *op, Region ®ion, const AllRegionPrintArgs &args) |
static void | printInReductionMapPrivateRegion (OpAsmPrinter &p, Operation *op, Region ®ion, ValueRange inReductionVars, TypeRange inReductionTypes, DenseBoolArrayAttr inReductionByref, ArrayAttr inReductionSyms, ValueRange mapVars, TypeRange mapTypes, ValueRange privateVars, TypeRange privateTypes, ArrayAttr privateSyms) |
static void | printInReductionPrivateRegion (OpAsmPrinter &p, Operation *op, Region ®ion, ValueRange inReductionVars, TypeRange inReductionTypes, DenseBoolArrayAttr inReductionByref, ArrayAttr inReductionSyms, ValueRange privateVars, TypeRange privateTypes, ArrayAttr privateSyms) |
static void | printInReductionPrivateReductionRegion (OpAsmPrinter &p, Operation *op, Region ®ion, ValueRange inReductionVars, TypeRange inReductionTypes, DenseBoolArrayAttr inReductionByref, ArrayAttr inReductionSyms, ValueRange privateVars, TypeRange privateTypes, ArrayAttr privateSyms, ValueRange reductionVars, TypeRange reductionTypes, DenseBoolArrayAttr reductionByref, ArrayAttr reductionSyms) |
static void | printPrivateRegion (OpAsmPrinter &p, Operation *op, Region ®ion, ValueRange privateVars, TypeRange privateTypes, ArrayAttr privateSyms) |
static void | printPrivateReductionRegion (OpAsmPrinter &p, Operation *op, Region ®ion, ValueRange privateVars, TypeRange privateTypes, ArrayAttr privateSyms, ValueRange reductionVars, TypeRange reductionTypes, DenseBoolArrayAttr reductionByref, ArrayAttr reductionSyms) |
static void | printTaskReductionRegion (OpAsmPrinter &p, Operation *op, Region ®ion, ValueRange taskReductionVars, TypeRange taskReductionTypes, DenseBoolArrayAttr taskReductionByref, ArrayAttr taskReductionSyms) |
static void | printUseDeviceAddrUseDevicePtrRegion (OpAsmPrinter &p, Operation *op, Region ®ion, ValueRange useDeviceAddrVars, TypeRange useDeviceAddrTypes, ValueRange useDevicePtrVars, TypeRange useDevicePtrTypes) |
static LogicalResult | verifyReductionVarList (Operation *op, std::optional< ArrayAttr > reductionSyms, OperandRange reductionVars, std::optional< ArrayRef< bool >> reductionByref) |
Verifies Reduction Clause. More... | |
static ParseResult | parseCopyprivate (OpAsmParser &parser, SmallVectorImpl< OpAsmParser::UnresolvedOperand > ©privateVars, SmallVectorImpl< Type > ©privateTypes, ArrayAttr ©privateSyms) |
copyprivate-entry-list ::= copyprivate-entry | copyprivate-entry-list , copyprivate-entry copyprivate-entry ::= ssa-id -> symbol-ref : type More... | |
static void | printCopyprivate (OpAsmPrinter &p, Operation *op, OperandRange copyprivateVars, TypeRange copyprivateTypes, std::optional< ArrayAttr > copyprivateSyms) |
Print Copyprivate clause. More... | |
static LogicalResult | verifyCopyprivateVarList (Operation *op, OperandRange copyprivateVars, std::optional< ArrayAttr > copyprivateSyms) |
Verifies CopyPrivate Clause. More... | |
static ParseResult | parseDependVarList (OpAsmParser &parser, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &dependVars, SmallVectorImpl< Type > &dependTypes, ArrayAttr &dependKinds) |
depend-entry-list ::= depend-entry | depend-entry-list , depend-entry depend-entry ::= depend-kind -> ssa-id : type More... | |
static void | printDependVarList (OpAsmPrinter &p, Operation *op, OperandRange dependVars, TypeRange dependTypes, std::optional< ArrayAttr > dependKinds) |
Print Depend clause. More... | |
static LogicalResult | verifyDependVarList (Operation *op, std::optional< ArrayAttr > dependKinds, OperandRange dependVars) |
Verifies Depend clause. More... | |
static ParseResult | parseSynchronizationHint (OpAsmParser &parser, IntegerAttr &hintAttr) |
Parses a Synchronization Hint clause. More... | |
static void | printSynchronizationHint (OpAsmPrinter &p, Operation *op, IntegerAttr hintAttr) |
Prints a Synchronization Hint clause. More... | |
static LogicalResult | verifySynchronizationHint (Operation *op, uint64_t hint) |
Verifies a synchronization hint clause. More... | |
uint64_t | mapTypeToBitFlag (uint64_t value, llvm::omp::OpenMPOffloadMappingFlags flag) |
static ParseResult | parseMapClause (OpAsmParser &parser, IntegerAttr &mapType) |
Parses a map_entries map type from a string format back into its numeric value. More... | |
static void | printMapClause (OpAsmPrinter &p, Operation *op, IntegerAttr mapType) |
Prints a map_entries map type from its numeric value out into its string format. More... | |
static ParseResult | parseMembersIndex (OpAsmParser &parser, ArrayAttr &membersIdx) |
static void | printMembersIndex (OpAsmPrinter &p, MapInfoOp op, ArrayAttr membersIdx) |
static void | printCaptureType (OpAsmPrinter &p, Operation *op, VariableCaptureKindAttr mapCaptureType) |
static ParseResult | parseCaptureType (OpAsmParser &parser, VariableCaptureKindAttr &mapCaptureType) |
static LogicalResult | verifyMapClause (Operation *op, OperandRange mapVars) |
template<typename OpType > | |
static LogicalResult | verifyPrivateVarList (OpType &op) |
static bool | opInGlobalImplicitParallelRegion (Operation *op) |
static LogicalResult | verifyOrderedParent (Operation &op) |
#define GET_ATTRDEF_CLASSES |
Definition at line 2841 of file OpenMPDialect.cpp.
#define GET_ATTRDEF_LIST |
#define GET_OP_CLASSES |
Definition at line 2844 of file OpenMPDialect.cpp.
#define GET_OP_LIST |
#define GET_TYPEDEF_CLASSES |
Definition at line 2847 of file OpenMPDialect.cpp.
#define GET_TYPEDEF_LIST |
|
static |
Definition at line 47 of file OpenMPDialect.cpp.
References mlir::get().
|
static |
Definition at line 53 of file OpenMPDialect.cpp.
References mlir::detail::DenseArrayAttrImpl< T >::get().
Referenced by parseClauseWithRegionArgs().
uint64_t mapTypeToBitFlag | ( | uint64_t | value, |
llvm::omp::OpenMPOffloadMappingFlags | flag | ||
) |
Definition at line 1281 of file OpenMPDialect.cpp.
Referenced by printMapClause(), and verifyMapClause().
|
static |
Definition at line 1778 of file OpenMPDialect.cpp.
References mlir::Operation::getDialect(), and mlir::Operation::getParentOp().
|
static |
aligned ::= aligned
(
aligned-list )
aligned-list := aligned-val | aligned-val aligned-list aligned-val := ssa-id-and-type ->
alignment
Definition at line 282 of file OpenMPDialect.cpp.
References mlir::AsmParser::parseCommaSeparatedList().
|
static |
Parse an allocate clause with allocators and a list of operands with types.
allocate-operand-list :: = allocate-operand | allocator-operand ,
allocate-operand-list allocate-operand :: = ssa-id-and-type -> ssa-id-and-type ssa-id-and-type ::= ssa-id :
type
Definition at line 121 of file OpenMPDialect.cpp.
References mlir::AsmParser::parseArrow(), mlir::AsmParser::parseColonType(), mlir::AsmParser::parseCommaSeparatedList(), and mlir::OpAsmParser::parseOperand().
|
static |
Definition at line 580 of file OpenMPDialect.cpp.
References parseClauseWithRegionArgs(), and mlir::AsmParser::parseOptionalKeyword().
Referenced by parseBlockArgRegion().
|
static |
Definition at line 595 of file OpenMPDialect.cpp.
References parseClauseWithRegionArgs(), and mlir::AsmParser::parseOptionalKeyword().
|
static |
Definition at line 611 of file OpenMPDialect.cpp.
References parseClauseWithRegionArgs(), and mlir::AsmParser::parseOptionalKeyword().
|
static |
Definition at line 627 of file OpenMPDialect.cpp.
References mlir::AsmParser::emitError(), mlir::AsmParser::getCurrentLocation(), parseBlockArgClause(), and mlir::OpAsmParser::parseRegion().
Referenced by parseInReductionMapPrivateRegion(), parseInReductionPrivateReductionRegion(), parseInReductionPrivateRegion(), parsePrivateReductionRegion(), parsePrivateRegion(), parseTaskReductionRegion(), and parseUseDeviceAddrUseDevicePtrRegion().
|
static |
Definition at line 1460 of file OpenMPDialect.cpp.
References mlir::get(), mlir::AsmParser::getContext(), and mlir::AsmParser::parseKeyword().
|
static |
Definition at line 164 of file OpenMPDialect.cpp.
References mlir::AsmParser::emitError(), mlir::get(), mlir::AsmParser::getContext(), mlir::AsmParser::getCurrentLocation(), and mlir::AsmParser::parseKeyword().
|
static |
Definition at line 515 of file OpenMPDialect.cpp.
References mlir::get(), mlir::AsmParser::getContext(), makeDenseBoolArrayAttr(), mlir::AsmParser::parseColon(), mlir::AsmParser::parseCommaSeparatedList(), mlir::AsmParser::parseLParen(), and mlir::AsmParser::parseRParen().
Referenced by parseBlockArgClause().
|
static |
copyprivate-entry-list ::= copyprivate-entry | copyprivate-entry-list ,
copyprivate-entry copyprivate-entry ::= ssa-id ->
symbol-ref :
type
Definition at line 1027 of file OpenMPDialect.cpp.
References mlir::get(), mlir::AsmParser::getContext(), and mlir::AsmParser::parseCommaSeparatedList().
|
static |
depend-entry-list ::= depend-entry | depend-entry-list ,
depend-entry depend-entry ::= depend-kind ->
ssa-id :
type
Definition at line 1131 of file OpenMPDialect.cpp.
References mlir::get(), mlir::AsmParser::getContext(), and mlir::AsmParser::parseCommaSeparatedList().
|
static |
Definition at line 669 of file OpenMPDialect.cpp.
References parseBlockArgRegion().
|
static |
Definition at line 700 of file OpenMPDialect.cpp.
References parseBlockArgRegion().
|
static |
Definition at line 686 of file OpenMPDialect.cpp.
References parseBlockArgRegion().
|
static |
linear ::= linear
(
linear-list )
linear-list := linear-val | linear-val linear-list linear-val := ssa-id-and-type =
ssa-id-and-type
Definition at line 189 of file OpenMPDialect.cpp.
References mlir::AsmParser::parseColonType(), mlir::AsmParser::parseCommaSeparatedList(), mlir::AsmParser::parseEqual(), and mlir::OpAsmParser::parseOperand().
|
static |
Parses a map_entries map type from a string format back into its numeric value.
map-clause = map_clauses ( (
(always, ?
close, ?
present, ? (
to|
from|
delete))+
)` )
Definition at line 1291 of file OpenMPDialect.cpp.
References mlir::AsmParser::getBuilder(), mlir::Builder::getIntegerAttr(), mlir::Builder::getIntegerType(), mlir::AsmParser::parseCommaSeparatedList(), and mlir::AsmParser::parseKeyword().
|
static |
Definition at line 1397 of file OpenMPDialect.cpp.
References mlir::get(), mlir::AsmParser::getBuilder(), mlir::AsmParser::getContext(), mlir::Builder::getIntegerType(), mlir::AsmParser::parseCommaSeparatedList(), mlir::AsmParser::parseInteger(), mlir::AsmParser::parseLSquare(), mlir::AsmParser::parseOptionalComma(), and mlir::AsmParser::parseRSquare().
|
static |
Definition at line 441 of file OpenMPDialect.cpp.
References mlir::AsmParser::emitError(), mlir::get(), mlir::AsmParser::getContext(), mlir::AsmParser::getCurrentLocation(), mlir::AsmParser::parseKeyword(), and mlir::AsmParser::parseOptionalColon().
|
static |
Definition at line 728 of file OpenMPDialect.cpp.
References parseBlockArgRegion().
|
static |
Definition at line 719 of file OpenMPDialect.cpp.
References parseBlockArgRegion().
|
static |
schedule ::= schedule
(
sched-list )
sched-list ::= sched-val | sched-val sched-list | sched-val ,
sched-modifier sched-val ::= sched-with-chunk | sched-wo-chunk sched-with-chunk ::= sched-with-chunk-types (=
ssa-id-and-type)? sched-with-chunk-types ::= static
| dynamic
| guided
sched-wo-chunk ::= auto
| runtime
sched-modifier ::= sched-mod-val | sched-mod-val ,
sched-mod-val sched-mod-val ::= monotonic
| nonmonotonic
| simd
| none
Definition at line 360 of file OpenMPDialect.cpp.
References mlir::AsmParser::emitError(), mlir::get(), mlir::AsmParser::getBuilder(), mlir::Builder::getContext(), mlir::AsmParser::getContext(), mlir::AsmParser::getCurrentLocation(), mlir::AsmParser::getNameLoc(), mlir::AsmParser::parseColonType(), mlir::AsmParser::parseKeyword(), mlir::OpAsmParser::parseOperand(), mlir::AsmParser::parseOptionalComma(), mlir::AsmParser::parseOptionalEqual(), and verifyScheduleModifiers().
|
static |
Parses a Synchronization Hint clause.
The value of hint is an integer which is a combination of different hints from omp_sync_hint_t
.
hint-clause = hint
(
hint-value )
Definition at line 1195 of file OpenMPDialect.cpp.
References mlir::AsmParser::emitError(), mlir::get(), mlir::AsmParser::getBuilder(), mlir::AsmParser::getCurrentLocation(), mlir::Builder::getI64Type(), mlir::AsmParser::parseCommaSeparatedList(), mlir::AsmParser::parseKeyword(), and mlir::AsmParser::parseOptionalKeyword().
|
static |
Definition at line 742 of file OpenMPDialect.cpp.
References parseBlockArgRegion().
|
static |
Definition at line 753 of file OpenMPDialect.cpp.
References parseBlockArgRegion().
|
static |
Print Aligned Clause.
Definition at line 303 of file OpenMPDialect.cpp.
References mlir::ValueRange::getType().
|
static |
Print allocate clause.
Definition at line 147 of file OpenMPDialect.cpp.
|
static |
Definition at line 838 of file OpenMPDialect.cpp.
References printClauseWithRegionArgs().
Referenced by printBlockArgRegion().
|
static |
Definition at line 846 of file OpenMPDialect.cpp.
References printClauseWithRegionArgs().
|
static |
Definition at line 856 of file OpenMPDialect.cpp.
References printClauseWithRegionArgs().
|
static |
Definition at line 865 of file OpenMPDialect.cpp.
References mlir::Operation::getContext(), printBlockArgClause(), and mlir::OpAsmPrinter::printRegion().
Referenced by printInReductionMapPrivateRegion(), printInReductionPrivateReductionRegion(), printInReductionPrivateRegion(), printPrivateReductionRegion(), printPrivateRegion(), printTaskReductionRegion(), and printUseDeviceAddrUseDevicePtrRegion().
|
static |
Definition at line 1445 of file OpenMPDialect.cpp.
void printClauseAttr | ( | OpAsmPrinter & | p, |
Operation * | op, | ||
ClauseAttr | attr | ||
) |
Definition at line 178 of file OpenMPDialect.cpp.
|
static |
Definition at line 802 of file OpenMPDialect.cpp.
References mlir::detail::DenseArrayAttrImpl< T >::get(), and mlir::get().
Referenced by printBlockArgClause().
|
static |
Print Copyprivate clause.
Definition at line 1047 of file OpenMPDialect.cpp.
|
static |
Print Depend clause.
Definition at line 1156 of file OpenMPDialect.cpp.
|
static |
Definition at line 890 of file OpenMPDialect.cpp.
References printBlockArgRegion().
|
static |
Definition at line 915 of file OpenMPDialect.cpp.
References printBlockArgRegion().
|
static |
Definition at line 903 of file OpenMPDialect.cpp.
References printBlockArgRegion().
|
static |
Print Linear Clause.
Definition at line 210 of file OpenMPDialect.cpp.
|
static |
Prints a map_entries map type from its numeric value out into its string format.
Definition at line 1342 of file OpenMPDialect.cpp.
References mapTypeToBitFlag().
|
static |
Definition at line 1430 of file OpenMPDialect.cpp.
|
static |
Definition at line 465 of file OpenMPDialect.cpp.
|
static |
Definition at line 938 of file OpenMPDialect.cpp.
References printBlockArgRegion().
|
static |
Definition at line 930 of file OpenMPDialect.cpp.
References printBlockArgRegion().
|
static |
Print schedule clause.
Definition at line 421 of file OpenMPDialect.cpp.
References mlir::Value::getType().
|
static |
Prints a Synchronization Hint clause.
Definition at line 1226 of file OpenMPDialect.cpp.
|
static |
Definition at line 950 of file OpenMPDialect.cpp.
References printBlockArgRegion().
|
static |
Definition at line 962 of file OpenMPDialect.cpp.
References printBlockArgRegion().
|
static |
Definition at line 242 of file OpenMPDialect.cpp.
References mlir::Operation::emitOpError().
|
static |
Verifies CopyPrivate Clause.
Definition at line 1063 of file OpenMPDialect.cpp.
References mlir::Operation::emitOpError(), and visit().
|
static |
Verifies Depend clause.
Definition at line 1171 of file OpenMPDialect.cpp.
References mlir::Operation::emitOpError().
|
static |
Definition at line 1482 of file OpenMPDialect.cpp.
References mlir::emitError(), mlir::Operation::getLoc(), and mapTypeToBitFlag().
|
static |
Definition at line 227 of file OpenMPDialect.cpp.
References mlir::Operation::emitOpError().
|
static |
Definition at line 2449 of file OpenMPDialect.cpp.
References mlir::Operation::emitOpError(), mlir::Operation::getNumRegions(), mlir::Operation::getParentOfType(), and mlir::Operation::getParentOp().
|
static |
Definition at line 1696 of file OpenMPDialect.cpp.
|
static |
Verifies Reduction Clause.
Definition at line 976 of file OpenMPDialect.cpp.
References mlir::Operation::emitError(), mlir::Operation::emitOpError(), and mlir::Value::getType().
|
static |
Definition at line 319 of file OpenMPDialect.cpp.
References mlir::AsmParser::emitError(), and mlir::AsmParser::getNameLoc().
Referenced by parseScheduleClause().
|
static |
Verifies a synchronization hint clause.
Definition at line 1257 of file OpenMPDialect.cpp.
References mlir::Operation::emitOpError().