@@ -352,12 +352,29 @@ let assemblyFormat = clausesAssemblyFormat # [{
352352```
353353
354354The ` 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