@@ -622,7 +622,7 @@ def DistributeOp : OpenMP_Op<"distribute", traits = [
622622 will be executed in parallel by threads in the current context. These
623623 iterations are spread across threads that already exist in the enclosing
624624 region.
625-
625+
626626 The body region can only contain a single block which must contain a single
627627 operation. This operation must be another compatible loop wrapper or an
628628 `omp.loop_nest`.
@@ -1655,28 +1655,32 @@ def CancellationPointOp : OpenMP_Op<"cancellation_point", clauses = [
16551655//===----------------------------------------------------------------------===//
16561656// 2.19.7.3 Declare Mapper Directive
16571657//===----------------------------------------------------------------------===//
1658- def DeclareMapperOp : OpenMP_Op<"declare_mapper", traits = [
1659- Symbol], clauses = [
1660- OpenMP_MapClause
1661- ]> {
1658+ def DeclareMapperOp : OpenMP_Op<"declare_mapper", singleRegion = 1> {
16621659 let summary = "declare mapper directive";
16631660 let description = [{
16641661 The declare mapper directive declares a user-defined mapper for a given
16651662 type, and defines a mapper-identifier that can be used in a map clause.
16661663 }] # clausesDescription;
16671664
1668- let arguments = !con((ins SymbolNameAttr:$sym_name,
1669- OpenMP_PointerLikeType:$var_ptr,
1670- TypeAttr:$var_type), clausesArgs);
1665+ let arguments = (ins SymbolNameAttr:$sym_name,
1666+ TypeAttr:$var_type);
1667+
1668+ let assemblyFormat = "$sym_name `:` $var_type $region attr-dict";
1669+ }
1670+
1671+ def DeclareMapperInfoOp : OpenMP_Op<"declare_mapper_info", clauses = [
1672+ OpenMP_MapClause
1673+ ]> {
1674+ let summary = "declare mapper info";
1675+ let description = [{
1676+ This Op is used to capture the map information related to it's
1677+ parent DeclareMapperOp.]>
1678+ }] # clausesDescription;
16711679
16721680 let builders = [
1673- OpBuilder<(ins CArg<"const DeclareMapperOperands &">:$clauses)>
1681+ OpBuilder<(ins CArg<"const DeclareMapperInfoOperands &">:$clauses)>
16741682 ];
16751683
1676- // Override clause-based assemblyFormat.
1677- let assemblyFormat = "$sym_name `:` $var_ptr `:` type($var_ptr) `:` $var_type" # " oilist(" #
1678- clausesOptAssemblyFormat # ") attr-dict";
1679-
16801684 let hasVerifier = 1;
16811685}
16821686
@@ -1792,7 +1796,7 @@ def MaskedOp : OpenMP_Op<"masked", clauses = [
17921796 ], singleRegion = 1> {
17931797 let summary = "masked construct";
17941798 let description = [{
1795- Masked construct allows to specify a structured block to be executed by a subset of
1799+ Masked construct allows to specify a structured block to be executed by a subset of
17961800 threads of the current team.
17971801 }] # clausesDescription;
17981802
0 commit comments