@@ -352,12 +352,29 @@ let assemblyFormat = clausesAssemblyFormat # [{
352
352
```
353
353
354
354
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.
361
378
362
379
## Loop-Associated Directives
363
380
0 commit comments