MLIR  19.0.0git
Macros | Functions
OpenMPDialect.cpp File Reference
#include "mlir/Dialect/OpenMP/OpenMPDialect.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/DialectImplementation.h"
#include "mlir/IR/OpImplementation.h"
#include "mlir/IR/OperationSupport.h"
#include "mlir/Interfaces/FoldInterfaces.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 "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/Support/LogicalResult.h"
#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 ParseResult parseAllocateAndAllocator (OpAsmParser &parser, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &operandsAllocate, SmallVectorImpl< Type > &typesAllocate, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &operandsAllocator, SmallVectorImpl< Type > &typesAllocator)
 Parse an allocate clause with allocators and a list of operands with types. More...
 
static void printAllocateAndAllocator (OpAsmPrinter &p, Operation *op, OperandRange varsAllocate, TypeRange typesAllocate, OperandRange varsAllocator, TypeRange typesAllocator)
 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 > &vars, SmallVectorImpl< Type > &types, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &stepVars)
 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 linearVarTypes, ValueRange linearStepVars)
 Print Linear Clause. More...
 
static LogicalResult verifyNontemporalClause (Operation *op, OperandRange nontemporalVariables)
 
static LogicalResult verifyAlignedClause (Operation *op, std::optional< ArrayAttr > alignmentValues, OperandRange alignedVariables)
 
static ParseResult parseAlignedClause (OpAsmParser &parser, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &alignedItems, SmallVectorImpl< Type > &types, ArrayAttr &alignmentValues)
 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 alignedVarTypes, std::optional< ArrayAttr > alignmentValues)
 Print Aligned Clause. More...
 
static ParseResult verifyScheduleModifiers (OpAsmParser &parser, SmallVectorImpl< SmallString< 12 >> &modifiers)
 
static ParseResult parseScheduleClause (OpAsmParser &parser, ClauseScheduleKindAttr &scheduleAttr, ScheduleModifierAttr &scheduleModifier, UnitAttr &simdModifier, 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 schedAttr, ScheduleModifierAttr modifier, UnitAttr simd, Value scheduleChunkVar, Type scheduleChunkType)
 Print schedule clause. More...
 
ParseResult parseClauseWithRegionArgs (OpAsmParser &parser, Region &region, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &operands, SmallVectorImpl< Type > &types, ArrayAttr &symbols, SmallVectorImpl< OpAsmParser::Argument > &regionPrivateArgs)
 
static void printClauseWithRegionArgs (OpAsmPrinter &p, Operation *op, ValueRange argsSubrange, StringRef clauseName, ValueRange operands, TypeRange types, ArrayAttr symbols)
 
static ParseResult parseParallelRegion (OpAsmParser &parser, Region &region, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &reductionVarOperands, SmallVectorImpl< Type > &reductionVarTypes, ArrayAttr &reductionSymbols, llvm::SmallVectorImpl< OpAsmParser::UnresolvedOperand > &privateVarOperands, llvm::SmallVectorImpl< Type > &privateVarsTypes, ArrayAttr &privatizerSymbols)
 
static void printParallelRegion (OpAsmPrinter &p, Operation *op, Region &region, ValueRange reductionVarOperands, TypeRange reductionVarTypes, ArrayAttr reductionSymbols, ValueRange privateVarOperands, TypeRange privateVarTypes, ArrayAttr privatizerSymbols)
 
static ParseResult parseReductionVarList (OpAsmParser &parser, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &operands, SmallVectorImpl< Type > &types, ArrayAttr &redcuctionSymbols)
 reduction-entry-list ::= reduction-entry | reduction-entry-list , reduction-entry reduction-entry ::= symbol-ref -> ssa-id : type More...
 
static void printReductionVarList (OpAsmPrinter &p, Operation *op, OperandRange reductionVars, TypeRange reductionTypes, std::optional< ArrayAttr > reductions)
 Print Reduction clause. More...
 
static LogicalResult verifyReductionVarList (Operation *op, std::optional< ArrayAttr > reductions, OperandRange reductionVars)
 Verifies Reduction Clause. More...
 
static ParseResult parseCopyPrivateVarList (OpAsmParser &parser, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &operands, SmallVectorImpl< Type > &types, ArrayAttr &copyPrivateSymbols)
 copyprivate-entry-list ::= copyprivate-entry | copyprivate-entry-list , copyprivate-entry copyprivate-entry ::= ssa-id -> symbol-ref : type More...
 
static void printCopyPrivateVarList (OpAsmPrinter &p, Operation *op, OperandRange copyPrivateVars, TypeRange copyPrivateTypes, std::optional< ArrayAttr > copyPrivateFuncs)
 Print CopyPrivate clause. More...
 
static LogicalResult verifyCopyPrivateVarList (Operation *op, OperandRange copyPrivateVars, std::optional< ArrayAttr > copyPrivateFuncs)
 Verifies CopyPrivate Clause. More...
 
static ParseResult parseDependVarList (OpAsmParser &parser, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &operands, SmallVectorImpl< Type > &types, ArrayAttr &dependsArray)
 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 > depends)
 Print Depend clause. More...
 
static LogicalResult verifyDependVarList (Operation *op, std::optional< ArrayAttr > depends, 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 parseMapEntries (OpAsmParser &parser, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &mapOperands, SmallVectorImpl< Type > &mapOperandTypes)
 
static void printMapEntries (OpAsmPrinter &p, Operation *op, OperandRange mapOperands, TypeRange mapOperandTypes)
 
static void printCaptureType (OpAsmPrinter &p, Operation *op, VariableCaptureKindAttr mapCaptureType)
 
static ParseResult parseCaptureType (OpAsmParser &parser, VariableCaptureKindAttr &mapCapture)
 
static LogicalResult verifyMapClause (Operation *op, OperandRange mapOperands)
 
template<typename OpType >
static LogicalResult verifyPrivateVarList (OpType &op)
 
static bool opInGlobalImplicitParallelRegion (Operation *op)
 
ParseResult parseWsloop (OpAsmParser &parser, Region &region, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &lowerBound, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &upperBound, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &steps, SmallVectorImpl< Type > &loopVarTypes, SmallVectorImpl< OpAsmParser::UnresolvedOperand > &reductionOperands, SmallVectorImpl< Type > &reductionTypes, ArrayAttr &reductionSymbols, UnitAttr &inclusive)
 loop-control ::= ( ssa-id-list ) : type = loop-bounds loop-bounds := ( ssa-id-list ) to ( ssa-id-list ) inclusive? steps steps := step (ssa-id-list) More...
 
void printWsloop (OpAsmPrinter &p, Operation *op, Region &region, ValueRange lowerBound, ValueRange upperBound, ValueRange steps, TypeRange loopVarTypes, ValueRange reductionOperands, TypeRange reductionTypes, ArrayAttr reductionSymbols, UnitAttr inclusive)
 
static ParseResult parseAtomicReductionRegion (OpAsmParser &parser, Region &region)
 
static void printAtomicReductionRegion (OpAsmPrinter &printer, DeclareReductionOp op, Region &region)
 
static ParseResult parseCleanupReductionRegion (OpAsmParser &parser, Region &region)
 
static void printCleanupReductionRegion (OpAsmPrinter &printer, DeclareReductionOp op, Region &region)
 

Macro Definition Documentation

◆ GET_ATTRDEF_CLASSES

#define GET_ATTRDEF_CLASSES

Definition at line 2352 of file OpenMPDialect.cpp.

◆ GET_ATTRDEF_LIST

#define GET_ATTRDEF_LIST

◆ GET_OP_CLASSES

#define GET_OP_CLASSES

Definition at line 2355 of file OpenMPDialect.cpp.

◆ GET_OP_LIST

#define GET_OP_LIST

◆ GET_TYPEDEF_CLASSES

#define GET_TYPEDEF_CLASSES

Definition at line 2358 of file OpenMPDialect.cpp.

◆ GET_TYPEDEF_LIST

#define GET_TYPEDEF_LIST

Function Documentation

◆ makeArrayAttr()

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

Definition at line 44 of file OpenMPDialect.cpp.

References mlir::get().

◆ mapTypeToBitFlag()

uint64_t mapTypeToBitFlag ( uint64_t  value,
llvm::omp::OpenMPOffloadMappingFlags  flag 
)

Definition at line 877 of file OpenMPDialect.cpp.

◆ opInGlobalImplicitParallelRegion()

static bool opInGlobalImplicitParallelRegion ( Operation op)
static

Definition at line 1377 of file OpenMPDialect.cpp.

◆ parseAlignedClause()

static ParseResult parseAlignedClause ( OpAsmParser parser,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  alignedItems,
SmallVectorImpl< Type > &  types,
ArrayAttr &  alignmentValues 
)
static

aligned ::= aligned ( aligned-list ) aligned-list := aligned-val | aligned-val aligned-list aligned-val := ssa-id-and-type -> alignment

Definition at line 281 of file OpenMPDialect.cpp.

References mlir::failed(), mlir::AsmParser::parseCommaSeparatedList(), and mlir::success().

◆ parseAllocateAndAllocator()

static ParseResult parseAllocateAndAllocator ( OpAsmParser parser,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  operandsAllocate,
SmallVectorImpl< Type > &  typesAllocate,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  operandsAllocator,
SmallVectorImpl< Type > &  typesAllocator 
)
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::failure(), mlir::AsmParser::parseArrow(), mlir::AsmParser::parseColonType(), mlir::AsmParser::parseCommaSeparatedList(), mlir::OpAsmParser::parseOperand(), and mlir::success().

◆ parseAtomicReductionRegion()

static ParseResult parseAtomicReductionRegion ( OpAsmParser parser,
Region region 
)
static

◆ parseCaptureType()

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

◆ parseClauseAttr()

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

◆ parseClauseWithRegionArgs()

ParseResult parseClauseWithRegionArgs ( OpAsmParser parser,
Region region,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  operands,
SmallVectorImpl< Type > &  types,
ArrayAttr &  symbols,
SmallVectorImpl< OpAsmParser::Argument > &  regionPrivateArgs 
)

◆ parseCleanupReductionRegion()

static ParseResult parseCleanupReductionRegion ( OpAsmParser parser,
Region region 
)
static

◆ parseCopyPrivateVarList()

static ParseResult parseCopyPrivateVarList ( OpAsmParser parser,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  operands,
SmallVectorImpl< Type > &  types,
ArrayAttr &  copyPrivateSymbols 
)
static

copyprivate-entry-list ::= copyprivate-entry | copyprivate-entry-list , copyprivate-entry copyprivate-entry ::= ssa-id -> symbol-ref : type

Definition at line 622 of file OpenMPDialect.cpp.

References mlir::failed(), mlir::failure(), mlir::get(), mlir::AsmParser::getContext(), mlir::AsmParser::parseCommaSeparatedList(), and mlir::success().

◆ parseDependVarList()

static ParseResult parseDependVarList ( OpAsmParser parser,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  operands,
SmallVectorImpl< Type > &  types,
ArrayAttr &  dependsArray 
)
static

depend-entry-list ::= depend-entry | depend-entry-list , depend-entry depend-entry ::= depend-kind -> ssa-id : type

Definition at line 727 of file OpenMPDialect.cpp.

References mlir::failed(), mlir::failure(), mlir::get(), mlir::AsmParser::getContext(), mlir::AsmParser::parseCommaSeparatedList(), and mlir::success().

◆ parseLinearClause()

static ParseResult parseLinearClause ( OpAsmParser parser,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  vars,
SmallVectorImpl< Type > &  types,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  stepVars 
)
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 190 of file OpenMPDialect.cpp.

References mlir::failure(), mlir::AsmParser::parseColonType(), mlir::AsmParser::parseCommaSeparatedList(), mlir::AsmParser::parseEqual(), mlir::OpAsmParser::parseOperand(), and mlir::success().

◆ parseMapClause()

static ParseResult parseMapClause ( OpAsmParser parser,
IntegerAttr &  mapType 
)
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 887 of file OpenMPDialect.cpp.

References mlir::failure(), mlir::AsmParser::getBuilder(), mlir::Builder::getIntegerAttr(), mlir::Builder::getIntegerType(), mlir::AsmParser::parseCommaSeparatedList(), mlir::AsmParser::parseKeyword(), and mlir::success().

◆ parseMapEntries()

static ParseResult parseMapEntries ( OpAsmParser parser,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  mapOperands,
SmallVectorImpl< Type > &  mapOperandTypes 
)
static

◆ parseParallelRegion()

static ParseResult parseParallelRegion ( OpAsmParser parser,
Region region,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  reductionVarOperands,
SmallVectorImpl< Type > &  reductionVarTypes,
ArrayAttr &  reductionSymbols,
llvm::SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  privateVarOperands,
llvm::SmallVectorImpl< Type > &  privateVarsTypes,
ArrayAttr &  privatizerSymbols 
)
static

◆ parseReductionVarList()

static ParseResult parseReductionVarList ( OpAsmParser parser,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  operands,
SmallVectorImpl< Type > &  types,
ArrayAttr &  redcuctionSymbols 
)
static

reduction-entry-list ::= reduction-entry | reduction-entry-list , reduction-entry reduction-entry ::= symbol-ref -> ssa-id : type

Definition at line 541 of file OpenMPDialect.cpp.

References mlir::failed(), mlir::failure(), mlir::get(), mlir::AsmParser::getContext(), mlir::AsmParser::parseCommaSeparatedList(), and mlir::success().

◆ parseScheduleClause()

static ParseResult parseScheduleClause ( OpAsmParser parser,
ClauseScheduleKindAttr &  scheduleAttr,
ScheduleModifierAttr &  scheduleModifier,
UnitAttr &  simdModifier,
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 359 of file OpenMPDialect.cpp.

References mlir::AsmParser::emitError(), mlir::failure(), mlir::get(), mlir::AsmParser::getBuilder(), mlir::Builder::getContext(), mlir::AsmParser::getContext(), mlir::AsmParser::getCurrentLocation(), mlir::AsmParser::getNameLoc(), mlir::mod(), mlir::AsmParser::parseColonType(), mlir::AsmParser::parseKeyword(), mlir::OpAsmParser::parseOperand(), mlir::AsmParser::parseOptionalComma(), mlir::AsmParser::parseOptionalEqual(), mlir::succeeded(), mlir::success(), 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 791 of file OpenMPDialect.cpp.

References mlir::AsmParser::emitError(), mlir::failed(), mlir::failure(), mlir::get(), mlir::AsmParser::getBuilder(), mlir::AsmParser::getCurrentLocation(), mlir::Builder::getI64Type(), mlir::AsmParser::parseCommaSeparatedList(), mlir::AsmParser::parseKeyword(), mlir::AsmParser::parseOptionalKeyword(), mlir::succeeded(), and mlir::success().

◆ parseWsloop()

ParseResult parseWsloop ( OpAsmParser parser,
Region region,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  lowerBound,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  upperBound,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  steps,
SmallVectorImpl< Type > &  loopVarTypes,
SmallVectorImpl< OpAsmParser::UnresolvedOperand > &  reductionOperands,
SmallVectorImpl< Type > &  reductionTypes,
ArrayAttr &  reductionSymbols,
UnitAttr &  inclusive 
)

◆ printAlignedClause()

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

Print Aligned Clause.

Definition at line 302 of file OpenMPDialect.cpp.

◆ printAllocateAndAllocator()

static void printAllocateAndAllocator ( OpAsmPrinter p,
Operation op,
OperandRange  varsAllocate,
TypeRange  typesAllocate,
OperandRange  varsAllocator,
TypeRange  typesAllocator 
)
static

Print allocate clause.

Definition at line 147 of file OpenMPDialect.cpp.

◆ printAtomicReductionRegion()

static void printAtomicReductionRegion ( OpAsmPrinter printer,
DeclareReductionOp  op,
Region region 
)
static

Definition at line 1651 of file OpenMPDialect.cpp.

◆ printCaptureType()

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

Definition at line 1051 of file OpenMPDialect.cpp.

◆ printClauseAttr()

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

Definition at line 178 of file OpenMPDialect.cpp.

◆ printClauseWithRegionArgs()

static void printClauseWithRegionArgs ( OpAsmPrinter p,
Operation op,
ValueRange  argsSubrange,
StringRef  clauseName,
ValueRange  operands,
TypeRange  types,
ArrayAttr  symbols 
)
static

Definition at line 469 of file OpenMPDialect.cpp.

◆ printCleanupReductionRegion()

static void printCleanupReductionRegion ( OpAsmPrinter printer,
DeclareReductionOp  op,
Region region 
)
static

Definition at line 1666 of file OpenMPDialect.cpp.

◆ printCopyPrivateVarList()

static void printCopyPrivateVarList ( OpAsmPrinter p,
Operation op,
OperandRange  copyPrivateVars,
TypeRange  copyPrivateTypes,
std::optional< ArrayAttr >  copyPrivateFuncs 
)
static

Print CopyPrivate clause.

Definition at line 643 of file OpenMPDialect.cpp.

◆ printDependVarList()

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

Print Depend clause.

Definition at line 752 of file OpenMPDialect.cpp.

◆ printLinearClause()

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

Print Linear Clause.

Definition at line 210 of file OpenMPDialect.cpp.

◆ printMapClause()

static void printMapClause ( OpAsmPrinter p,
Operation op,
IntegerAttr  mapType 
)
static

Prints a map_entries map type from its numeric value out into its string format.

Definition at line 938 of file OpenMPDialect.cpp.

◆ printMapEntries()

static void printMapEntries ( OpAsmPrinter p,
Operation op,
OperandRange  mapOperands,
TypeRange  mapOperandTypes 
)
static

Definition at line 1027 of file OpenMPDialect.cpp.

◆ printParallelRegion()

static void printParallelRegion ( OpAsmPrinter p,
Operation op,
Region region,
ValueRange  reductionVarOperands,
TypeRange  reductionVarTypes,
ArrayAttr  reductionSymbols,
ValueRange  privateVarOperands,
TypeRange  privateVarTypes,
ArrayAttr  privatizerSymbols 
)
static

Definition at line 508 of file OpenMPDialect.cpp.

◆ printReductionVarList()

static void printReductionVarList ( OpAsmPrinter p,
Operation op,
OperandRange  reductionVars,
TypeRange  reductionTypes,
std::optional< ArrayAttr >  reductions 
)
static

Print Reduction clause.

Definition at line 561 of file OpenMPDialect.cpp.

◆ printScheduleClause()

static void printScheduleClause ( OpAsmPrinter p,
Operation op,
ClauseScheduleKindAttr  schedAttr,
ScheduleModifierAttr  modifier,
UnitAttr  simd,
Value  scheduleChunkVar,
Type  scheduleChunkType 
)
static

Print schedule clause.

Definition at line 420 of file OpenMPDialect.cpp.

◆ printSynchronizationHint()

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

Prints a Synchronization Hint clause.

Definition at line 822 of file OpenMPDialect.cpp.

◆ printWsloop()

void printWsloop ( OpAsmPrinter p,
Operation op,
Region region,
ValueRange  lowerBound,
ValueRange  upperBound,
ValueRange  steps,
TypeRange  loopVarTypes,
ValueRange  reductionOperands,
TypeRange  reductionTypes,
ArrayAttr  reductionSymbols,
UnitAttr  inclusive 
)

Definition at line 1544 of file OpenMPDialect.cpp.

◆ verifyAlignedClause()

static LogicalResult verifyAlignedClause ( Operation op,
std::optional< ArrayAttr >  alignmentValues,
OperandRange  alignedVariables 
)
static

Definition at line 243 of file OpenMPDialect.cpp.

◆ verifyCopyPrivateVarList()

static LogicalResult verifyCopyPrivateVarList ( Operation op,
OperandRange  copyPrivateVars,
std::optional< ArrayAttr >  copyPrivateFuncs 
)
static

Verifies CopyPrivate Clause.

Definition at line 659 of file OpenMPDialect.cpp.

◆ verifyDependVarList()

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

Verifies Depend clause.

Definition at line 767 of file OpenMPDialect.cpp.

◆ verifyMapClause()

static LogicalResult verifyMapClause ( Operation op,
OperandRange  mapOperands 
)
static

Definition at line 1088 of file OpenMPDialect.cpp.

◆ verifyNontemporalClause()

static LogicalResult verifyNontemporalClause ( Operation op,
OperandRange  nontemporalVariables 
)
static

Definition at line 228 of file OpenMPDialect.cpp.

◆ verifyPrivateVarList()

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

Definition at line 1302 of file OpenMPDialect.cpp.

◆ verifyReductionVarList()

static LogicalResult verifyReductionVarList ( Operation op,
std::optional< ArrayAttr >  reductions,
OperandRange  reductionVars 
)
static

Verifies Reduction Clause.

Definition at line 574 of file OpenMPDialect.cpp.

◆ verifyScheduleModifiers()

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

◆ verifySynchronizationHint()

static LogicalResult verifySynchronizationHint ( Operation op,
uint64_t  hint 
)
static

Verifies a synchronization hint clause.

Definition at line 853 of file OpenMPDialect.cpp.