Skip to content

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
}