‘annotation’ Dialect¶
Annotation dialects for mark operations to define some extra attrs for a certain op:
// Mark extra attrs
annotation.mark %a { attr-dict } : f64
Operations¶
annotation.mark (annotation::MarkOp)¶
Annotate an IR value with key-value attribute pairs
Syntax:
operation ::= `annotation.mark` $src attr-dict
(`keys` `=` $keys^)?
(`values` `=` `[`$values^`:`type($values) `]`)?
`:`type($src)
The annotation.mark operation can be used to annotated an IR value
with a set of key-value attributes pairs.
The value can be both static (i.e. an attribute) or dynamic (a.k.a. an IR value).
Example:
annotation.mark %target keys = ["key"] values = [%val]
annotation.mark %target {key : val}
Traits: AlwaysSpeculatableImplTrait
Interfaces: ConditionallySpeculatable, MemoryEffectOpInterface (MemoryEffectOpInterface), NoMemoryEffect (MemoryEffectOpInterface)
Effects: MemoryEffects::Effect{MemoryEffects::Write on ::mlir::SideEffects::DefaultResource}, MemoryEffects::Effect{}
Attributes¶
| Attribute | MLIR Type | Description |
|---|---|---|
keys | ::mlir::ArrayAttr | string array attribute |
Operands¶
Operand |
Description |
|---|---|
|
any type |
|
variadic of any type |