@@ -653,7 +653,7 @@ def DistributeOp : OpenMP_Op<"distribute", traits = [
653653 will be executed in parallel by threads in the current context. These
654654 iterations are spread across threads that already exist in the enclosing
655655 region.
656-
656+
657657 The body region can only contain a single block which must contain a single
658658 operation. This operation must be another compatible loop wrapper or an
659659 `omp.loop_nest`.
@@ -1752,28 +1752,32 @@ def ScanOp : OpenMP_Op<"scan", [
17521752//===----------------------------------------------------------------------===//
17531753// 2.19.7.3 Declare Mapper Directive
17541754//===----------------------------------------------------------------------===//
1755- def DeclareMapperOp : OpenMP_Op<"declare_mapper", traits = [
1756- Symbol], clauses = [
1757- OpenMP_MapClause
1758- ]> {
1755+ def DeclareMapperOp : OpenMP_Op<"declare_mapper", singleRegion = 1> {
17591756 let summary = "declare mapper directive";
17601757 let description = [{
17611758 The declare mapper directive declares a user-defined mapper for a given
17621759 type, and defines a mapper-identifier that can be used in a map clause.
17631760 }] # clausesDescription;
17641761
1765- let arguments = !con((ins SymbolNameAttr:$sym_name,
1766- OpenMP_PointerLikeType:$var_ptr,
1767- TypeAttr:$var_type), clausesArgs);
1762+ let arguments = (ins SymbolNameAttr:$sym_name,
1763+ TypeAttr:$var_type);
1764+
1765+ let assemblyFormat = "$sym_name `:` $var_type $region attr-dict";
1766+ }
1767+
1768+ def DeclareMapperInfoOp : OpenMP_Op<"declare_mapper_info", clauses = [
1769+ OpenMP_MapClause
1770+ ]> {
1771+ let summary = "declare mapper info";
1772+ let description = [{
1773+ This Op is used to capture the map information related to it's
1774+ parent DeclareMapperOp.]>
1775+ }] # clausesDescription;
17681776
17691777 let builders = [
1770- OpBuilder<(ins CArg<"const DeclareMapperOperands &">:$clauses)>
1778+ OpBuilder<(ins CArg<"const DeclareMapperInfoOperands &">:$clauses)>
17711779 ];
17721780
1773- // Override clause-based assemblyFormat.
1774- let assemblyFormat = "$sym_name `:` $var_ptr `:` type($var_ptr) `:` $var_type" # " oilist(" #
1775- clausesOptAssemblyFormat # ") attr-dict";
1776-
17771781 let hasVerifier = 1;
17781782}
17791783
@@ -1889,7 +1893,7 @@ def MaskedOp : OpenMP_Op<"masked", clauses = [
18891893 ], singleRegion = 1> {
18901894 let summary = "masked construct";
18911895 let description = [{
1892- Masked construct allows to specify a structured block to be executed by a subset of
1896+ Masked construct allows to specify a structured block to be executed by a subset of
18931897 threads of the current team.
18941898 }] # clausesDescription;
18951899
0 commit comments