Skip to content

Commit f8b03e2

Browse files
committed
Update interface documentation
1 parent a3d247d commit f8b03e2

File tree

1 file changed

+23
-6
lines changed

1 file changed

+23
-6
lines changed

mlir/docs/Dialects/OpenMPDialect/_index.md

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -352,12 +352,29 @@ let assemblyFormat = clausesAssemblyFormat # [{
352352
```
353353

354354
The `BlockArgOpenMPOpInterface` has been introduced to simplify the addition and
355-
handling of these kinds of clauses. It holds `num<ClauseName>BlockArgs()`
356-
functions that by default return 0, to be overriden by each clause through the
357-
`extraClassDeclaration` property. Based on these functions and the expected
358-
alphabetical sorting between entry block argument-defining clauses, it
359-
implements `get<ClauseName>BlockArgs()` functions that are the intended method
360-
of accessing clause-defined block arguments.
355+
handling of these kinds of clauses. Adding it to an operation directly, or
356+
indirectly through a clause, results in the addition of overridable
357+
`get<ClauseName>Vars()` and `num<ClauseName>BlockArgs()` public functions for
358+
all entry block argument-generating clauses. By default, the reported number of
359+
block arguments defined by a clause will correspond to the number of operands
360+
taken by the operation for that clause. This list of operands will be empty by
361+
default, and will automatically be overriden by getters of the corresponding
362+
`Variadic<...> $<clause_name>_vars` argument of the same clause's definition.
363+
364+
In addition to these methods added to the actual operations, the
365+
`BlockArgOpenMPOpInterface` itself defines a set of methods based on the
366+
previous ones and on the convention that entry block arguments for multiple
367+
clauses are sorted alphabetically by clause name. These are listed below, and
368+
they represent the main way in which clause-defined block arguments should be
369+
accessed:
370+
- `get<ClauseName>BlockArgsStart()`: Returns the index within the list of
371+
entry block arguments where the first element defined by the given clause
372+
should be located.
373+
- `get<ClauseName>BlockArgs()`: Returns the list of entry block arguments
374+
defined by the given clause.
375+
- `getBlockArgsPairs()`: Returns a list of pairs where the first element is
376+
the outside value, or operand, and the second element is the corresponding
377+
entry block argument.
361378

362379
## Loop-Associated Directives
363380

0 commit comments

Comments
 (0)