Skip to content

pipeline.decl

← pipeline dialect

Bodyless persistent pipeline contract. The leading specialization arguments, invocation arguments, target, predicates, and optional artifact scope have the same meaning as on pipeline.def.

Operation contract

Property Value
Semantic phase executable
Traits SymbolDefine
Interfaces FuncLike

Symbol contract

Property Value
Kind pipeline
Defining field callee
Interfaces func_like, pipeline
Flags declaration

Signature

Kind Name Type Cardinality Description
Operand args any variadic —
Attribute callee symbol required —
Attribute scope enum PipelineScope optional —
Attribute visibility enum Visibility optional —
Attribute retain enum Retain optional —
Attribute target symbol (target) optional —
Attribute predicates predicate_list optional —
Attribute specialization_count i64 required Number of leading staged pipeline arguments.

Examples

pipeline.decl<kernel> @resident(%width: index) run(%input: view<[%width]xi32>, %output: buffer)
pipeline.decl @stage(%width: index) run(%input: channel<tile<[%width]xi32>>)