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. Observable effects in the body must be explicit command operations; ordinary SSA preparation is effect-free.

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
}