|
MLIR
22.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/OpenMP/OpenMPClauseOperands.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/IR/SymbolTable.h"#include "mlir/Interfaces/FoldInterfaces.h"#include "llvm/ADT/ArrayRef.h"#include "llvm/ADT/PostOrderIterator.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/ADT/bit.h"#include "llvm/Support/InterleavedRange.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 DenseI64ArrayAttr | makeDenseI64ArrayAttr (MLIRContext *ctx, const ArrayRef< int64_t > intArray) |
| static std::string | generateLoopNestingName (StringRef prefix, CanonicalLoopOp op) |
Generate a name of a canonical loop nest of the format <prefix>(_r<idx>_s<idx>)*. More... | |
| 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 > | |
| static 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) |
| template<typename ClauseTypeAttr , typename ClauseType > | |
| static ParseResult | parseGranularityClause (OpAsmParser &parser, ClauseTypeAttr &prescriptiveness, std::optional< OpAsmParser::UnresolvedOperand > &operand, Type &operandType, std::optional< ClauseType >(*symbolizeClause)(StringRef), StringRef clauseName) |
| template<typename ClauseTypeAttr , typename ClauseType > | |
| static void | printGranularityClause (OpAsmPrinter &p, Operation *op, ClauseTypeAttr prescriptiveness, Value operand, mlir::Type operandType, StringRef(*stringifyClauseType)(ClauseType)) |
| static ParseResult | parseGrainsizeClause (OpAsmParser &parser, ClauseGrainsizeTypeAttr &grainsizeMod, std::optional< OpAsmParser::UnresolvedOperand > &grainsize, Type &grainsizeType) |
| static void | printGrainsizeClause (OpAsmPrinter &p, Operation *op, ClauseGrainsizeTypeAttr grainsizeMod, Value grainsize, mlir::Type grainsizeType) |
| static ParseResult | parseNumTasksClause (OpAsmParser &parser, ClauseNumTasksTypeAttr &numTasksMod, std::optional< OpAsmParser::UnresolvedOperand > &numTasks, Type &numTasksType) |
| static void | printNumTasksClause (OpAsmPrinter &p, Operation *op, ClauseNumTasksTypeAttr numTasksMod, Value numTasks, mlir::Type numTasksType) |
| static constexpr StringRef | getPrivateNeedsBarrierSpelling () |
| static ParseResult | parseClauseWithRegionArgs (OpAsmParser &parser, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &operands, SmallVectorImpl< Type > &types, SmallVectorImpl< OpAsmParser::Argument > ®ionPrivateArgs, ArrayAttr *symbols=nullptr, DenseI64ArrayAttr *mapIndices=nullptr, DenseBoolArrayAttr *byref=nullptr, ReductionModifierAttr *modifier=nullptr, UnitAttr *needsBarrier=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 > privateArgs) |
| 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 | parseTargetOpRegion (OpAsmParser &parser, Region ®ion, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &hasDeviceAddrVars, SmallVectorImpl< Type > &hasDeviceAddrTypes, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &hostEvalVars, SmallVectorImpl< Type > &hostEvalTypes, 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, UnitAttr &privateNeedsBarrier, DenseI64ArrayAttr &privateMaps) |
| 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, UnitAttr &privateNeedsBarrier) |
| 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, UnitAttr &privateNeedsBarrier, ReductionModifierAttr &reductionMod, 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, UnitAttr &privateNeedsBarrier) |
| static ParseResult | parsePrivateReductionRegion (OpAsmParser &parser, Region ®ion, llvm::SmallVectorImpl< OpAsmParser::UnresolvedOperand > &privateVars, llvm::SmallVectorImpl< Type > &privateTypes, ArrayAttr &privateSyms, UnitAttr &privateNeedsBarrier, ReductionModifierAttr &reductionMod, 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, DenseI64ArrayAttr mapIndices=nullptr, DenseBoolArrayAttr byref=nullptr, ReductionModifierAttr modifier=nullptr, UnitAttr needsBarrier=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 | printTargetOpRegion (OpAsmPrinter &p, Operation *op, Region ®ion, ValueRange hasDeviceAddrVars, TypeRange hasDeviceAddrTypes, ValueRange hostEvalVars, TypeRange hostEvalTypes, ValueRange inReductionVars, TypeRange inReductionTypes, DenseBoolArrayAttr inReductionByref, ArrayAttr inReductionSyms, ValueRange mapVars, TypeRange mapTypes, ValueRange privateVars, TypeRange privateTypes, ArrayAttr privateSyms, UnitAttr privateNeedsBarrier, DenseI64ArrayAttr privateMaps) |
| static void | printInReductionPrivateRegion (OpAsmPrinter &p, Operation *op, Region ®ion, ValueRange inReductionVars, TypeRange inReductionTypes, DenseBoolArrayAttr inReductionByref, ArrayAttr inReductionSyms, ValueRange privateVars, TypeRange privateTypes, ArrayAttr privateSyms, UnitAttr privateNeedsBarrier) |
| static void | printInReductionPrivateReductionRegion (OpAsmPrinter &p, Operation *op, Region ®ion, ValueRange inReductionVars, TypeRange inReductionTypes, DenseBoolArrayAttr inReductionByref, ArrayAttr inReductionSyms, ValueRange privateVars, TypeRange privateTypes, ArrayAttr privateSyms, UnitAttr privateNeedsBarrier, ReductionModifierAttr reductionMod, ValueRange reductionVars, TypeRange reductionTypes, DenseBoolArrayAttr reductionByref, ArrayAttr reductionSyms) |
| static void | printPrivateRegion (OpAsmPrinter &p, Operation *op, Region ®ion, ValueRange privateVars, TypeRange privateTypes, ArrayAttr privateSyms, UnitAttr privateNeedsBarrier) |
| static void | printPrivateReductionRegion (OpAsmPrinter &p, Operation *op, Region ®ion, ValueRange privateVars, TypeRange privateTypes, ArrayAttr privateSyms, UnitAttr privateNeedsBarrier, ReductionModifierAttr reductionMod, 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... | |
| static bool | mapTypeToBool (ClauseMapFlags value, ClauseMapFlags flag) |
| static ParseResult | parseMapClause (OpAsmParser &parser, ClauseMapFlagsAttr &mapType) |
| Parses a map_entries map type from a string format back into its numeric value. More... | |
| static void | printMapClause (OpAsmPrinter &p, Operation *op, ClauseMapFlagsAttr 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) |
| static LogicalResult | verifyPrivateVarsMapping (TargetOp targetOp) |
| static LogicalResult | verifyMapInfoDefinedArgs (Operation *op, StringRef clauseName, OperandRange vars) |
| static Operation * | findCapturedOmpOp (Operation *rootOp, bool checkSingleMandatoryExec, llvm::function_ref< bool(Operation *)> siblingAllowedFn) |
| static bool | canPromoteToNoLoop (Operation *capturedOp, TeamsOp teamsOp, WsloopOp *wsLoopOp) |
| Check if we can promote SPMD kernel to No-Loop kernel. More... | |
| template<typename OpType > | |
| static LogicalResult | verifyPrivateVarList (OpType &op) |
| static bool | opInGlobalImplicitParallelRegion (Operation *op) |
| static void | printLoopTransformClis (OpAsmPrinter &p, TileOp op, OperandRange generatees, OperandRange applyees) |
| static ParseResult | parseLoopTransformClis (OpAsmParser &parser, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &generateesOperands, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &applyeesOperands) |
| static LogicalResult | verifyOrderedParent (Operation &op) |
| static Operation * | getParentInSameDialect (Operation *thisOp) |
| static mlir::ParseResult | parseTargetAllocMemOp (mlir::OpAsmParser &parser, mlir::OperationState &result) |
operation ::= res = (omp.target_alloc_mem) $device : devicetype, $in_type ( ( $typeparams ) )? ( , $shape )? attr-dict-without-keyword More... | |
| #define GET_ATTRDEF_CLASSES |
Definition at line 4455 of file OpenMPDialect.cpp.
| #define GET_ATTRDEF_LIST |
| #define GET_OP_CLASSES |
Definition at line 4458 of file OpenMPDialect.cpp.
| #define GET_OP_LIST |
| #define GET_TYPEDEF_CLASSES |
Definition at line 4461 of file OpenMPDialect.cpp.
| #define GET_TYPEDEF_LIST |
|
static |
Check if we can promote SPMD kernel to No-Loop kernel.
Definition at line 2364 of file OpenMPDialect.cpp.
References mlir::Operation::getParentOfType().
|
static |
Definition at line 2277 of file OpenMPDialect.cpp.
References mlir::DominanceInfo::dominates(), mlir::Operation::getBlock(), mlir::Operation::getDialect(), mlir::Operation::getNumRegions(), mlir::Region::getOps(), mlir::Operation::getParentRegion(), mlir::Block::getSuccessors(), mlir::detail::DominanceInfoBase< IsPostDom >::isReachableFromEntry(), and mlir::Operation::walk().
|
static |
Generate a name of a canonical loop nest of the format <prefix>(_r<idx>_s<idx>)*.
Hereby, _r<idx> identifies the region argument index of an operation that has multiple regions, if the operation has multiple regions. _s<idx> identifies the position of an operation within a region, where only operations that may potentially contain loops ("container operations" i.e. have region arguments) are counted. Again, it is omitted if there is only one such operation in a region. If there are canonical loops nested inside each other, also may also use the format _d<num> where <num> is the nesting depth of the loop.
The generated name is a best-effort to make canonical loop unique within an SSA namespace. This also means that regions with IsolatedFromAbove property do not consider any parents or siblings.
If true, this component describes a region operand of an operation (the operand's owner) If false, this component describes an operation located in a parent region
Definition at line 94 of file OpenMPDialect.cpp.
References mlir::detail::enumerate(), mlir::Region::getBlocks(), mlir::Region::getParentOp(), mlir::Operation::getParentRegion(), mlir::Operation::getRegions(), mlir::Operation::hasTrait(), and isUnique().
Definition at line 4029 of file OpenMPDialect.cpp.
References mlir::Operation::getDialect(), and mlir::Operation::getParentOp().
|
inlinestaticconstexpr |
Definition at line 851 of file OpenMPDialect.cpp.
Referenced by printClauseWithRegionArgs().
|
static |
Definition at line 49 of file OpenMPDialect.cpp.
References mlir::get().
|
static |
Definition at line 55 of file OpenMPDialect.cpp.
References mlir::detail::DenseArrayAttrImpl< T >::get().
|
static |
Definition at line 60 of file OpenMPDialect.cpp.
References mlir::detail::DenseArrayAttrImpl< T >::get().
|
static |
Definition at line 1741 of file OpenMPDialect.cpp.
Referenced by convertClauseMapFlags(), printMapClause(), and verifyMapClause().
|
static |
Definition at line 2610 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 515 of file OpenMPDialect.cpp.
References mlir::remark::failed(), and 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 354 of file OpenMPDialect.cpp.
References mlir::AsmParser::parseArrow(), mlir::AsmParser::parseColonType(), mlir::AsmParser::parseCommaSeparatedList(), and mlir::OpAsmParser::parseOperand().
|
static |
Definition at line 959 of file OpenMPDialect.cpp.
References mlir::remark::failed(), parseClauseWithRegionArgs(), and mlir::AsmParser::parseOptionalKeyword().
Referenced by parseBlockArgRegion().
|
static |
Definition at line 974 of file OpenMPDialect.cpp.
References mlir::remark::failed(), parseClauseWithRegionArgs(), and mlir::AsmParser::parseOptionalKeyword().
|
static |
Definition at line 991 of file OpenMPDialect.cpp.
References mlir::remark::failed(), parseClauseWithRegionArgs(), and mlir::AsmParser::parseOptionalKeyword().
|
static |
Definition at line 1007 of file OpenMPDialect.cpp.
References mlir::AsmParser::emitError(), mlir::remark::failed(), mlir::AsmParser::getCurrentLocation(), parseBlockArgClause(), and mlir::OpAsmParser::parseRegion().
Referenced by parseInReductionPrivateReductionRegion(), parseInReductionPrivateRegion(), parsePrivateReductionRegion(), parsePrivateRegion(), parseTargetOpRegion(), parseTaskReductionRegion(), and parseUseDeviceAddrUseDevicePtrRegion().
|
static |
Definition at line 1963 of file OpenMPDialect.cpp.
References mlir::get(), mlir::AsmParser::getContext(), and mlir::AsmParser::parseKeyword().
|
static |
Definition at line 397 of file OpenMPDialect.cpp.
References mlir::AsmParser::emitError(), mlir::get(), mlir::AsmParser::getContext(), mlir::AsmParser::getCurrentLocation(), and mlir::AsmParser::parseKeyword().
|
static |
Definition at line 855 of file OpenMPDialect.cpp.
References mlir::get(), mlir::AsmParser::getContext(), mlir::AsmParser::parseColon(), mlir::AsmParser::parseComma(), mlir::AsmParser::parseCommaSeparatedList(), mlir::AsmParser::parseKeyword(), mlir::AsmParser::parseLParen(), and mlir::AsmParser::parseOptionalKeyword().
Referenced by parseBlockArgClause().
|
static |
copyprivate-entry-list ::= copyprivate-entry | copyprivate-entry-list , copyprivate-entry copyprivate-entry ::= ssa-id -> symbol-ref : type
Definition at line 1486 of file OpenMPDialect.cpp.
References mlir::remark::failed(), 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 1590 of file OpenMPDialect.cpp.
References mlir::remark::failed(), mlir::get(), mlir::AsmParser::getContext(), and mlir::AsmParser::parseCommaSeparatedList().
|
static |
Definition at line 763 of file OpenMPDialect.cpp.
|
static |
Definition at line 709 of file OpenMPDialect.cpp.
References mlir::AsmParser::emitError(), mlir::get(), mlir::AsmParser::getContext(), mlir::AsmParser::getCurrentLocation(), mlir::AsmParser::parseColonType(), mlir::AsmParser::parseComma(), mlir::OpAsmParser::parseOperand(), and mlir::AsmParser::parseOptionalKeyword().
|
static |
Definition at line 1102 of file OpenMPDialect.cpp.
References parseBlockArgRegion().
|
static |
Definition at line 1086 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 422 of file OpenMPDialect.cpp.
References mlir::AsmParser::parseColonType(), mlir::AsmParser::parseCommaSeparatedList(), mlir::AsmParser::parseEqual(), and mlir::OpAsmParser::parseOperand().
|
static |
Definition at line 3689 of file OpenMPDialect.cpp.
References mlir::AsmParser::Paren, mlir::AsmParser::parseLess(), mlir::AsmParser::parseMinus(), mlir::OpAsmParser::parseOperandList(), and mlir::AsmParser::parseOptionalLess().
|
static |
Parses a map_entries map type from a string format back into its numeric value.
map-clause = map_clauses ( ((always, ?implicit, ?ompx_hold, ? close, ?present, ? (to|from|delete))+)` )
Definition at line 1750 of file OpenMPDialect.cpp.
References mlir::Builder::getAttr(), mlir::AsmParser::getBuilder(), mlir::AsmParser::parseCommaSeparatedList(), and mlir::AsmParser::parseKeyword().
|
static |
Definition at line 1900 of file OpenMPDialect.cpp.
References mlir::remark::failed(), 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 785 of file OpenMPDialect.cpp.
|
static |
Definition at line 674 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 1134 of file OpenMPDialect.cpp.
References parseBlockArgRegion().
|
static |
Definition at line 1123 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 593 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 1654 of file OpenMPDialect.cpp.
References mlir::AsmParser::emitError(), mlir::remark::failed(), mlir::get(), mlir::AsmParser::getBuilder(), mlir::AsmParser::getCurrentLocation(), mlir::Builder::getI64Type(), mlir::AsmParser::parseCommaSeparatedList(), mlir::AsmParser::parseKeyword(), and mlir::AsmParser::parseOptionalKeyword().
|
static |
operation ::= res = (omp.target_alloc_mem) $device : devicetype, $in_type ( ( $typeparams ) )? ( , $shape )? attr-dict-without-keyword
Definition at line 4313 of file OpenMPDialect.cpp.
References mlir::OperationState::addAttribute(), mlir::AsmParser::addTypeToList(), mlir::OperationState::attributes, mlir::AsmParser::emitError(), mlir::get(), mlir::AsmParser::getBuilder(), mlir::Builder::getDenseI32ArrayAttr(), mlir::Builder::getIndexType(), mlir::Builder::getIntegerType(), mlir::AsmParser::getNameLoc(), mlir::AsmParser::None, mlir::OperationState::operands, mlir::AsmParser::parseColonType(), mlir::AsmParser::parseColonTypeList(), mlir::AsmParser::parseComma(), mlir::OpAsmParser::parseOperand(), mlir::OpAsmParser::parseOperandList(), mlir::AsmParser::parseOptionalAttrDict(), mlir::AsmParser::parseOptionalComma(), mlir::AsmParser::parseOptionalLParen(), mlir::AsmParser::parseRParen(), mlir::AsmParser::parseType(), mlir::OpAsmParser::resolveOperand(), mlir::OpAsmParser::resolveOperands(), and mlir::OperationState::types.
|
static |
Definition at line 1061 of file OpenMPDialect.cpp.
References parseBlockArgRegion().
|
static |
Definition at line 1150 of file OpenMPDialect.cpp.
References parseBlockArgRegion().
|
static |
Definition at line 1161 of file OpenMPDialect.cpp.
References parseBlockArgRegion().
|
static |
Print Aligned Clause.
Definition at line 536 of file OpenMPDialect.cpp.
References mlir::ValueRange::getType().
|
static |
Print allocate clause.
Definition at line 380 of file OpenMPDialect.cpp.
|
static |
Definition at line 1269 of file OpenMPDialect.cpp.
References printClauseWithRegionArgs().
Referenced by printBlockArgRegion().
|
static |
Definition at line 1277 of file OpenMPDialect.cpp.
References printClauseWithRegionArgs().
|
static |
Definition at line 1288 of file OpenMPDialect.cpp.
References printClauseWithRegionArgs().
|
static |
Definition at line 1298 of file OpenMPDialect.cpp.
References mlir::Operation::getContext(), printBlockArgClause(), and mlir::OpAsmPrinter::printRegion().
Referenced by printInReductionPrivateReductionRegion(), printInReductionPrivateRegion(), printPrivateReductionRegion(), printPrivateRegion(), printTargetOpRegion(), printTaskReductionRegion(), and printUseDeviceAddrUseDevicePtrRegion().
|
static |
Definition at line 1948 of file OpenMPDialect.cpp.
|
static |
Definition at line 411 of file OpenMPDialect.cpp.
|
static |
Definition at line 1217 of file OpenMPDialect.cpp.
References mlir::get(), and getPrivateNeedsBarrierSpelling().
Referenced by printBlockArgClause().
|
static |
Print Copyprivate clause.
Definition at line 1506 of file OpenMPDialect.cpp.
|
static |
Print Depend clause.
Definition at line 1615 of file OpenMPDialect.cpp.
|
static |
Definition at line 771 of file OpenMPDialect.cpp.
|
static |
Definition at line 745 of file OpenMPDialect.cpp.
|
static |
Definition at line 1364 of file OpenMPDialect.cpp.
References printBlockArgRegion().
|
static |
Definition at line 1350 of file OpenMPDialect.cpp.
References printBlockArgRegion().
|
static |
Print Linear Clause.
Definition at line 443 of file OpenMPDialect.cpp.
|
static |
Definition at line 3679 of file OpenMPDialect.cpp.
|
static |
Prints a map_entries map type from its numeric value out into its string format.
Definition at line 1834 of file OpenMPDialect.cpp.
References mapTypeToBool().
|
static |
Definition at line 1933 of file OpenMPDialect.cpp.
|
static |
Definition at line 793 of file OpenMPDialect.cpp.
|
static |
Definition at line 698 of file OpenMPDialect.cpp.
|
static |
Definition at line 1394 of file OpenMPDialect.cpp.
References printBlockArgRegion().
|
static |
Definition at line 1383 of file OpenMPDialect.cpp.
References printBlockArgRegion().
|
static |
Print schedule clause.
Definition at line 654 of file OpenMPDialect.cpp.
References mlir::Value::getType().
|
static |
Prints a Synchronization Hint clause.
Definition at line 1685 of file OpenMPDialect.cpp.
|
static |
Definition at line 1330 of file OpenMPDialect.cpp.
References printBlockArgRegion().
|
static |
Definition at line 1409 of file OpenMPDialect.cpp.
References printBlockArgRegion().
|
static |
Definition at line 1421 of file OpenMPDialect.cpp.
References printBlockArgRegion().
|
static |
Definition at line 475 of file OpenMPDialect.cpp.
References mlir::Operation::emitOpError().
|
static |
Verifies CopyPrivate Clause.
Definition at line 1522 of file OpenMPDialect.cpp.
References mlir::Operation::emitOpError(), and visit().
|
static |
Verifies Depend clause.
Definition at line 1630 of file OpenMPDialect.cpp.
References mlir::Operation::emitOpError().
|
static |
Definition at line 1985 of file OpenMPDialect.cpp.
References mlir::emitError(), mlir::Operation::getLoc(), and mapTypeToBool().
|
static |
Definition at line 2076 of file OpenMPDialect.cpp.
References mlir::Operation::emitOpError().
|
static |
Definition at line 460 of file OpenMPDialect.cpp.
References mlir::Operation::emitOpError().
|
static |
Definition at line 3838 of file OpenMPDialect.cpp.
References mlir::Operation::emitOpError(), mlir::Operation::getNumRegions(), mlir::Operation::getParentOfType(), and mlir::Operation::getParentOp().
|
static |
Definition at line 2522 of file OpenMPDialect.cpp.
|
static |
Definition at line 2054 of file OpenMPDialect.cpp.
References mlir::emitError().
|
static |
Verifies Reduction Clause.
Definition at line 1435 of file OpenMPDialect.cpp.
References mlir::Operation::emitError(), mlir::Operation::emitOpError(), and mlir::Value::getType().
|
static |
Definition at line 552 of file OpenMPDialect.cpp.
References mlir::AsmParser::emitError(), and mlir::AsmParser::getNameLoc().
Referenced by parseScheduleClause().
|
static |
Verifies a synchronization hint clause.
Definition at line 1716 of file OpenMPDialect.cpp.
References mlir::Operation::emitOpError().