command.program.def
← command dialect
Reusable command-program definition. Leading specialization arguments participate in staged specialization and launch-count evaluation; buffer bindings are provided when the materialized program is issued.
Operation contract
| Property |
Value |
| Semantic phase |
executable |
| Traits |
SymbolDefine, IsolatedFromAbove |
| Interfaces |
FuncLike |
Symbol contract
| Property |
Value |
| Kind |
command program |
| Defining field |
callee |
| Interfaces |
func_like, command_program |
| Flags |
— |
Signature
| Kind |
Name |
Type |
Cardinality |
Description |
| Attribute |
callee |
symbol |
required |
— |
| Attribute |
visibility |
enum Visibility |
optional |
— |
| Attribute |
target |
symbol (target) |
optional |
— |
| Attribute |
predicates |
predicate_list |
optional |
— |
| Attribute |
specialization_count |
i64 |
required |
Number of leading staged program arguments. |
| Attribute |
retain |
enum Retain |
optional |
— |
| Region |
body |
region |
required |
Commands and source-level control flow forming the program. (terminator command.return.) |
Examples
command.program.def @decode(%token_count: index) launch(%parameters: buffer, %transient: buffer) {
command.return
}
command.program.def public target(@gfx1100) @prefill(%token_count: index) launch(%parameters: buffer) {
command.return
}