MLIR  22.0.0git
Macros | Functions
OpenMPDialect.cpp File Reference
#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 > &regionPrivateArgs, 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 &region, AllRegionParseArgs args)
 
static ParseResult parseTargetOpRegion (OpAsmParser &parser, Region &region, 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 &region, 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 &region, 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 &region, llvm::SmallVectorImpl< OpAsmParser::UnresolvedOperand > &privateVars, llvm::SmallVectorImpl< Type > &privateTypes, ArrayAttr &privateSyms, UnitAttr &privateNeedsBarrier)
 
static ParseResult parsePrivateReductionRegion (OpAsmParser &parser, Region &region, 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 &region, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &taskReductionVars, SmallVectorImpl< Type > &taskReductionTypes, DenseBoolArrayAttr &taskReductionByref, ArrayAttr &taskReductionSyms)
 
static ParseResult parseUseDeviceAddrUseDevicePtrRegion (OpAsmParser &parser, Region &region, 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 &region, const AllRegionPrintArgs &args)
 
static void printTargetOpRegion (OpAsmPrinter &p, Operation *op, Region &region, 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 &region, ValueRange inReductionVars, TypeRange inReductionTypes, DenseBoolArrayAttr inReductionByref, ArrayAttr inReductionSyms, ValueRange privateVars, TypeRange privateTypes, ArrayAttr privateSyms, UnitAttr privateNeedsBarrier)
 
static void printInReductionPrivateReductionRegion (OpAsmPrinter &p, Operation *op, Region &region, 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 &region, ValueRange privateVars, TypeRange privateTypes, ArrayAttr privateSyms, UnitAttr privateNeedsBarrier)
 
static void printPrivateReductionRegion (OpAsmPrinter &p, Operation *op, Region &region, 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 &region, ValueRange taskReductionVars, TypeRange taskReductionTypes, DenseBoolArrayAttr taskReductionByref, ArrayAttr taskReductionSyms)
 
static void printUseDeviceAddrUseDevicePtrRegion (OpAsmPrinter &p, Operation *op, Region &region, 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 > &copyprivateVars, SmallVectorImpl< Type > &copyprivateTypes, ArrayAttr &copyprivateSyms)
 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 OperationfindCapturedOmpOp (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 OperationgetParentInSameDialect (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...
 

Macro Definition Documentation

◆ GET_ATTRDEF_CLASSES

#define GET_ATTRDEF_CLASSES

Definition at line 4455 of file OpenMPDialect.cpp.

◆ GET_ATTRDEF_LIST

#define GET_ATTRDEF_LIST

◆ GET_OP_CLASSES

#define GET_OP_CLASSES

Definition at line 4458 of file OpenMPDialect.cpp.

◆ GET_OP_LIST

#define GET_OP_LIST

◆ GET_TYPEDEF_CLASSES

#define GET_TYPEDEF_CLASSES

Definition at line 4461 of file OpenMPDialect.cpp.

◆ GET_TYPEDEF_LIST

#define GET_TYPEDEF_LIST

Function Documentation

◆ canPromoteToNoLoop()

static bool canPromoteToNoLoop ( Operation capturedOp,
TeamsOp  teamsOp,
WsloopOp *  wsLoopOp 
)
static

Check if we can promote SPMD kernel to No-Loop kernel.

Definition at line 2364 of file OpenMPDialect.cpp.

References mlir::Operation::getParentOfType().

◆ findCapturedOmpOp()

static Operation* findCapturedOmpOp ( Operation rootOp,
bool  checkSingleMandatoryExec,
llvm::function_ref< bool(Operation *)>  siblingAllowedFn 
)
static

◆ generateLoopNestingName()

static std::string generateLoopNestingName ( StringRef  prefix,
CanonicalLoopOp  op 
)
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().

◆ getParentInSameDialect()

static Operation* getParentInSameDialect ( Operation thisOp)
static

◆ getPrivateNeedsBarrierSpelling()

static constexpr StringRef getPrivateNeedsBarrierSpelling ( )
inlinestaticconstexpr

Definition at line 851 of file OpenMPDialect.cpp.

Referenced by printClauseWithRegionArgs().

◆ makeArrayAttr()

static ArrayAttr makeArrayAttr ( MLIRContext context,
llvm::ArrayRef< Attribute attrs 
)
static

Definition at line 49 of file OpenMPDialect.cpp.

References mlir::get().

◆ makeDenseBoolArrayAttr()

static DenseBoolArrayAttr makeDenseBoolArrayAttr ( MLIRContext ctx,
const ArrayRef< bool >  boolArray 
)
static

Definition at line 55 of file OpenMPDialect.cpp.

References mlir::detail::DenseArrayAttrImpl< T >::get().

◆ makeDenseI64ArrayAttr()

static DenseI64ArrayAttr makeDenseI64ArrayAttr ( MLIRContext ctx,
const ArrayRef< int64_t >  intArray 
)
static

Definition at line 60 of file OpenMPDialect.cpp.

References mlir::detail::DenseArrayAttrImpl< T >::get().

◆ mapTypeToBool()

static bool mapTypeToBool ( ClauseMapFlags  value,
ClauseMapFlags  flag 
)
static

Definition at line 1741 of file OpenMPDialect.cpp.

Referenced by convertClauseMapFlags(), printMapClause(), and verifyMapClause().

◆ opInGlobalImplicitParallelRegion()

static bool opInGlobalImplicitParallelRegion ( Operation op)
static

◆ parseAlignedClause()

static ParseResult parseAlignedClause ( OpAsmParser parser,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  alignedVars,
SmallVectorImpl< Type > &  alignedTypes,
ArrayAttr &  alignmentsAttr 
)
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().

◆ parseAllocateAndAllocator()

static ParseResult parseAllocateAndAllocator ( OpAsmParser parser,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  allocateVars,
SmallVectorImpl< Type > &  allocateTypes,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  allocatorVars,
SmallVectorImpl< Type > &  allocatorTypes 
)
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().

◆ parseBlockArgClause() [1/3]

static ParseResult parseBlockArgClause ( OpAsmParser parser,
llvm::SmallVectorImpl< OpAsmParser::Argument > &  entryBlockArgs,
StringRef  keyword,
std::optional< MapParseArgs >  mapArgs 
)
static

◆ parseBlockArgClause() [2/3]

static ParseResult parseBlockArgClause ( OpAsmParser parser,
llvm::SmallVectorImpl< OpAsmParser::Argument > &  entryBlockArgs,
StringRef  keyword,
std::optional< PrivateParseArgs >  privateArgs 
)
static

◆ parseBlockArgClause() [3/3]

static ParseResult parseBlockArgClause ( OpAsmParser parser,
llvm::SmallVectorImpl< OpAsmParser::Argument > &  entryBlockArgs,
StringRef  keyword,
std::optional< ReductionParseArgs >  reductionArgs 
)
static

◆ parseBlockArgRegion()

static ParseResult parseBlockArgRegion ( OpAsmParser parser,
Region region,
AllRegionParseArgs  args 
)
static

◆ parseCaptureType()

static ParseResult parseCaptureType ( OpAsmParser parser,
VariableCaptureKindAttr &  mapCaptureType 
)
static

◆ parseClauseAttr()

template<typename ClauseAttr >
static ParseResult parseClauseAttr ( AsmParser parser,
ClauseAttr &  attr 
)
static

◆ parseClauseWithRegionArgs()

static ParseResult parseClauseWithRegionArgs ( OpAsmParser parser,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  operands,
SmallVectorImpl< Type > &  types,
SmallVectorImpl< OpAsmParser::Argument > &  regionPrivateArgs,
ArrayAttr *  symbols = nullptr,
DenseI64ArrayAttr mapIndices = nullptr,
DenseBoolArrayAttr byref = nullptr,
ReductionModifierAttr *  modifier = nullptr,
UnitAttr *  needsBarrier = nullptr 
)
static

◆ parseCopyprivate()

static ParseResult parseCopyprivate ( OpAsmParser parser,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  copyprivateVars,
SmallVectorImpl< Type > &  copyprivateTypes,
ArrayAttr &  copyprivateSyms 
)
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().

◆ parseDependVarList()

static ParseResult parseDependVarList ( OpAsmParser parser,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  dependVars,
SmallVectorImpl< Type > &  dependTypes,
ArrayAttr &  dependKinds 
)
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().

◆ parseGrainsizeClause()

static ParseResult parseGrainsizeClause ( OpAsmParser parser,
ClauseGrainsizeTypeAttr &  grainsizeMod,
std::optional< OpAsmParser::UnresolvedOperand > &  grainsize,
Type grainsizeType 
)
static

Definition at line 763 of file OpenMPDialect.cpp.

◆ parseGranularityClause()

template<typename ClauseTypeAttr , typename ClauseType >
static ParseResult parseGranularityClause ( OpAsmParser parser,
ClauseTypeAttr &  prescriptiveness,
std::optional< OpAsmParser::UnresolvedOperand > &  operand,
Type operandType,
std::optional< ClauseType >(*)(StringRef)  symbolizeClause,
StringRef  clauseName 
)
static

◆ parseInReductionPrivateReductionRegion()

static ParseResult parseInReductionPrivateReductionRegion ( OpAsmParser parser,
Region region,
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

Definition at line 1102 of file OpenMPDialect.cpp.

References parseBlockArgRegion().

◆ parseInReductionPrivateRegion()

static ParseResult parseInReductionPrivateRegion ( OpAsmParser parser,
Region region,
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

Definition at line 1086 of file OpenMPDialect.cpp.

References parseBlockArgRegion().

◆ parseLinearClause()

static ParseResult parseLinearClause ( OpAsmParser parser,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  linearVars,
SmallVectorImpl< Type > &  linearTypes,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  linearStepVars 
)
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().

◆ parseLoopTransformClis()

static ParseResult parseLoopTransformClis ( OpAsmParser parser,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  generateesOperands,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  applyeesOperands 
)
static

◆ parseMapClause()

static ParseResult parseMapClause ( OpAsmParser parser,
ClauseMapFlagsAttr &  mapType 
)
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().

◆ parseMembersIndex()

static ParseResult parseMembersIndex ( OpAsmParser parser,
ArrayAttr &  membersIdx 
)
static

◆ parseNumTasksClause()

static ParseResult parseNumTasksClause ( OpAsmParser parser,
ClauseNumTasksTypeAttr &  numTasksMod,
std::optional< OpAsmParser::UnresolvedOperand > &  numTasks,
Type numTasksType 
)
static

Definition at line 785 of file OpenMPDialect.cpp.

◆ parseOrderClause()

static ParseResult parseOrderClause ( OpAsmParser parser,
ClauseOrderKindAttr &  order,
OrderModifierAttr &  orderMod 
)
static

◆ parsePrivateReductionRegion()

static ParseResult parsePrivateReductionRegion ( OpAsmParser parser,
Region region,
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

Definition at line 1134 of file OpenMPDialect.cpp.

References parseBlockArgRegion().

◆ parsePrivateRegion()

static ParseResult parsePrivateRegion ( OpAsmParser parser,
Region region,
llvm::SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  privateVars,
llvm::SmallVectorImpl< Type > &  privateTypes,
ArrayAttr &  privateSyms,
UnitAttr &  privateNeedsBarrier 
)
static

Definition at line 1123 of file OpenMPDialect.cpp.

References parseBlockArgRegion().

◆ parseScheduleClause()

static ParseResult parseScheduleClause ( OpAsmParser parser,
ClauseScheduleKindAttr &  scheduleAttr,
ScheduleModifierAttr &  scheduleMod,
UnitAttr &  scheduleSimd,
std::optional< OpAsmParser::UnresolvedOperand > &  chunkSize,
Type chunkType 
)
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().

◆ parseSynchronizationHint()

static ParseResult parseSynchronizationHint ( OpAsmParser parser,
IntegerAttr &  hintAttr 
)
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().

◆ parseTargetAllocMemOp()

static mlir::ParseResult parseTargetAllocMemOp ( mlir::OpAsmParser parser,
mlir::OperationState result 
)
static

◆ parseTargetOpRegion()

static ParseResult parseTargetOpRegion ( OpAsmParser parser,
Region region,
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

Definition at line 1061 of file OpenMPDialect.cpp.

References parseBlockArgRegion().

◆ parseTaskReductionRegion()

static ParseResult parseTaskReductionRegion ( OpAsmParser parser,
Region region,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  taskReductionVars,
SmallVectorImpl< Type > &  taskReductionTypes,
DenseBoolArrayAttr taskReductionByref,
ArrayAttr &  taskReductionSyms 
)
static

Definition at line 1150 of file OpenMPDialect.cpp.

References parseBlockArgRegion().

◆ parseUseDeviceAddrUseDevicePtrRegion()

static ParseResult parseUseDeviceAddrUseDevicePtrRegion ( OpAsmParser parser,
Region region,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  useDeviceAddrVars,
SmallVectorImpl< Type > &  useDeviceAddrTypes,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  useDevicePtrVars,
SmallVectorImpl< Type > &  useDevicePtrTypes 
)
static

Definition at line 1161 of file OpenMPDialect.cpp.

References parseBlockArgRegion().

◆ printAlignedClause()

static void printAlignedClause ( OpAsmPrinter p,
Operation op,
ValueRange  alignedVars,
TypeRange  alignedTypes,
std::optional< ArrayAttr >  alignments 
)
static

Print Aligned Clause.

Definition at line 536 of file OpenMPDialect.cpp.

References mlir::ValueRange::getType().

◆ printAllocateAndAllocator()

static void printAllocateAndAllocator ( OpAsmPrinter p,
Operation op,
OperandRange  allocateVars,
TypeRange  allocateTypes,
OperandRange  allocatorVars,
TypeRange  allocatorTypes 
)
static

Print allocate clause.

Definition at line 380 of file OpenMPDialect.cpp.

◆ printBlockArgClause() [1/3]

static void printBlockArgClause ( OpAsmPrinter p,
MLIRContext ctx,
StringRef  clauseName,
ValueRange  argsSubrange,
std::optional< MapPrintArgs >  mapArgs 
)
static

Definition at line 1269 of file OpenMPDialect.cpp.

References printClauseWithRegionArgs().

Referenced by printBlockArgRegion().

◆ printBlockArgClause() [2/3]

static void printBlockArgClause ( OpAsmPrinter p,
MLIRContext ctx,
StringRef  clauseName,
ValueRange  argsSubrange,
std::optional< PrivatePrintArgs >  privateArgs 
)
static

Definition at line 1277 of file OpenMPDialect.cpp.

References printClauseWithRegionArgs().

◆ printBlockArgClause() [3/3]

static void printBlockArgClause ( OpAsmPrinter p,
MLIRContext ctx,
StringRef  clauseName,
ValueRange  argsSubrange,
std::optional< ReductionPrintArgs >  reductionArgs 
)
static

Definition at line 1288 of file OpenMPDialect.cpp.

References printClauseWithRegionArgs().

◆ printBlockArgRegion()

static void printBlockArgRegion ( OpAsmPrinter p,
Operation op,
Region region,
const AllRegionPrintArgs &  args 
)
static

◆ printCaptureType()

static void printCaptureType ( OpAsmPrinter p,
Operation op,
VariableCaptureKindAttr  mapCaptureType 
)
static

Definition at line 1948 of file OpenMPDialect.cpp.

◆ printClauseAttr()

template<typename ClauseAttr >
static void printClauseAttr ( OpAsmPrinter p,
Operation op,
ClauseAttr  attr 
)
static

Definition at line 411 of file OpenMPDialect.cpp.

◆ printClauseWithRegionArgs()

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

Definition at line 1217 of file OpenMPDialect.cpp.

References mlir::get(), and getPrivateNeedsBarrierSpelling().

Referenced by printBlockArgClause().

◆ printCopyprivate()

static void printCopyprivate ( OpAsmPrinter p,
Operation op,
OperandRange  copyprivateVars,
TypeRange  copyprivateTypes,
std::optional< ArrayAttr >  copyprivateSyms 
)
static

Print Copyprivate clause.

Definition at line 1506 of file OpenMPDialect.cpp.

◆ printDependVarList()

static void printDependVarList ( OpAsmPrinter p,
Operation op,
OperandRange  dependVars,
TypeRange  dependTypes,
std::optional< ArrayAttr >  dependKinds 
)
static

Print Depend clause.

Definition at line 1615 of file OpenMPDialect.cpp.

◆ printGrainsizeClause()

static void printGrainsizeClause ( OpAsmPrinter p,
Operation op,
ClauseGrainsizeTypeAttr  grainsizeMod,
Value  grainsize,
mlir::Type  grainsizeType 
)
static

Definition at line 771 of file OpenMPDialect.cpp.

◆ printGranularityClause()

template<typename ClauseTypeAttr , typename ClauseType >
static void printGranularityClause ( OpAsmPrinter p,
Operation op,
ClauseTypeAttr  prescriptiveness,
Value  operand,
mlir::Type  operandType,
StringRef(*)(ClauseType)  stringifyClauseType 
)
static

Definition at line 745 of file OpenMPDialect.cpp.

◆ printInReductionPrivateReductionRegion()

static void printInReductionPrivateReductionRegion ( OpAsmPrinter p,
Operation op,
Region region,
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

Definition at line 1364 of file OpenMPDialect.cpp.

References printBlockArgRegion().

◆ printInReductionPrivateRegion()

static void printInReductionPrivateRegion ( OpAsmPrinter p,
Operation op,
Region region,
ValueRange  inReductionVars,
TypeRange  inReductionTypes,
DenseBoolArrayAttr  inReductionByref,
ArrayAttr  inReductionSyms,
ValueRange  privateVars,
TypeRange  privateTypes,
ArrayAttr  privateSyms,
UnitAttr  privateNeedsBarrier 
)
static

Definition at line 1350 of file OpenMPDialect.cpp.

References printBlockArgRegion().

◆ printLinearClause()

static void printLinearClause ( OpAsmPrinter p,
Operation op,
ValueRange  linearVars,
TypeRange  linearTypes,
ValueRange  linearStepVars 
)
static

Print Linear Clause.

Definition at line 443 of file OpenMPDialect.cpp.

◆ printLoopTransformClis()

static void printLoopTransformClis ( OpAsmPrinter p,
TileOp  op,
OperandRange  generatees,
OperandRange  applyees 
)
static

Definition at line 3679 of file OpenMPDialect.cpp.

◆ printMapClause()

static void printMapClause ( OpAsmPrinter p,
Operation op,
ClauseMapFlagsAttr  mapType 
)
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().

◆ printMembersIndex()

static void printMembersIndex ( OpAsmPrinter p,
MapInfoOp  op,
ArrayAttr  membersIdx 
)
static

Definition at line 1933 of file OpenMPDialect.cpp.

◆ printNumTasksClause()

static void printNumTasksClause ( OpAsmPrinter p,
Operation op,
ClauseNumTasksTypeAttr  numTasksMod,
Value  numTasks,
mlir::Type  numTasksType 
)
static

Definition at line 793 of file OpenMPDialect.cpp.

◆ printOrderClause()

static void printOrderClause ( OpAsmPrinter p,
Operation op,
ClauseOrderKindAttr  order,
OrderModifierAttr  orderMod 
)
static

Definition at line 698 of file OpenMPDialect.cpp.

◆ printPrivateReductionRegion()

static void printPrivateReductionRegion ( OpAsmPrinter p,
Operation op,
Region region,
ValueRange  privateVars,
TypeRange  privateTypes,
ArrayAttr  privateSyms,
UnitAttr  privateNeedsBarrier,
ReductionModifierAttr  reductionMod,
ValueRange  reductionVars,
TypeRange  reductionTypes,
DenseBoolArrayAttr  reductionByref,
ArrayAttr  reductionSyms 
)
static

Definition at line 1394 of file OpenMPDialect.cpp.

References printBlockArgRegion().

◆ printPrivateRegion()

static void printPrivateRegion ( OpAsmPrinter p,
Operation op,
Region region,
ValueRange  privateVars,
TypeRange  privateTypes,
ArrayAttr  privateSyms,
UnitAttr  privateNeedsBarrier 
)
static

Definition at line 1383 of file OpenMPDialect.cpp.

References printBlockArgRegion().

◆ printScheduleClause()

static void printScheduleClause ( OpAsmPrinter p,
Operation op,
ClauseScheduleKindAttr  scheduleKind,
ScheduleModifierAttr  scheduleMod,
UnitAttr  scheduleSimd,
Value  scheduleChunk,
Type  scheduleChunkType 
)
static

Print schedule clause.

Definition at line 654 of file OpenMPDialect.cpp.

References mlir::Value::getType().

◆ printSynchronizationHint()

static void printSynchronizationHint ( OpAsmPrinter p,
Operation op,
IntegerAttr  hintAttr 
)
static

Prints a Synchronization Hint clause.

Definition at line 1685 of file OpenMPDialect.cpp.

◆ printTargetOpRegion()

static void printTargetOpRegion ( OpAsmPrinter p,
Operation op,
Region region,
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

Definition at line 1330 of file OpenMPDialect.cpp.

References printBlockArgRegion().

◆ printTaskReductionRegion()

static void printTaskReductionRegion ( OpAsmPrinter p,
Operation op,
Region region,
ValueRange  taskReductionVars,
TypeRange  taskReductionTypes,
DenseBoolArrayAttr  taskReductionByref,
ArrayAttr  taskReductionSyms 
)
static

Definition at line 1409 of file OpenMPDialect.cpp.

References printBlockArgRegion().

◆ printUseDeviceAddrUseDevicePtrRegion()

static void printUseDeviceAddrUseDevicePtrRegion ( OpAsmPrinter p,
Operation op,
Region region,
ValueRange  useDeviceAddrVars,
TypeRange  useDeviceAddrTypes,
ValueRange  useDevicePtrVars,
TypeRange  useDevicePtrTypes 
)
static

Definition at line 1421 of file OpenMPDialect.cpp.

References printBlockArgRegion().

◆ verifyAlignedClause()

static LogicalResult verifyAlignedClause ( Operation op,
std::optional< ArrayAttr >  alignments,
OperandRange  alignedVars 
)
static

Definition at line 475 of file OpenMPDialect.cpp.

References mlir::Operation::emitOpError().

◆ verifyCopyprivateVarList()

static LogicalResult verifyCopyprivateVarList ( Operation op,
OperandRange  copyprivateVars,
std::optional< ArrayAttr >  copyprivateSyms 
)
static

Verifies CopyPrivate Clause.

Definition at line 1522 of file OpenMPDialect.cpp.

References mlir::Operation::emitOpError(), and visit().

◆ verifyDependVarList()

static LogicalResult verifyDependVarList ( Operation op,
std::optional< ArrayAttr >  dependKinds,
OperandRange  dependVars 
)
static

Verifies Depend clause.

Definition at line 1630 of file OpenMPDialect.cpp.

References mlir::Operation::emitOpError().

◆ verifyMapClause()

static LogicalResult verifyMapClause ( Operation op,
OperandRange  mapVars 
)
static

Definition at line 1985 of file OpenMPDialect.cpp.

References mlir::emitError(), mlir::Operation::getLoc(), and mapTypeToBool().

◆ verifyMapInfoDefinedArgs()

static LogicalResult verifyMapInfoDefinedArgs ( Operation op,
StringRef  clauseName,
OperandRange  vars 
)
static

Definition at line 2076 of file OpenMPDialect.cpp.

References mlir::Operation::emitOpError().

◆ verifyNontemporalClause()

static LogicalResult verifyNontemporalClause ( Operation op,
OperandRange  nontemporalVars 
)
static

Definition at line 460 of file OpenMPDialect.cpp.

References mlir::Operation::emitOpError().

◆ verifyOrderedParent()

static LogicalResult verifyOrderedParent ( Operation op)
static

◆ verifyPrivateVarList()

template<typename OpType >
static LogicalResult verifyPrivateVarList ( OpType &  op)
static

Definition at line 2522 of file OpenMPDialect.cpp.

◆ verifyPrivateVarsMapping()

static LogicalResult verifyPrivateVarsMapping ( TargetOp  targetOp)
static

Definition at line 2054 of file OpenMPDialect.cpp.

References mlir::emitError().

◆ verifyReductionVarList()

static LogicalResult verifyReductionVarList ( Operation op,
std::optional< ArrayAttr >  reductionSyms,
OperandRange  reductionVars,
std::optional< ArrayRef< bool >>  reductionByref 
)
static

Verifies Reduction Clause.

Definition at line 1435 of file OpenMPDialect.cpp.

References mlir::Operation::emitError(), mlir::Operation::emitOpError(), and mlir::Value::getType().

◆ verifyScheduleModifiers()

static ParseResult verifyScheduleModifiers ( OpAsmParser parser,
SmallVectorImpl< SmallString< 12 >> &  modifiers 
)
static

Definition at line 552 of file OpenMPDialect.cpp.

References mlir::AsmParser::emitError(), and mlir::AsmParser::getNameLoc().

Referenced by parseScheduleClause().

◆ verifySynchronizationHint()

static LogicalResult verifySynchronizationHint ( Operation op,
uint64_t  hint 
)
static

Verifies a synchronization hint clause.

Definition at line 1716 of file OpenMPDialect.cpp.

References mlir::Operation::emitOpError().