‘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

AttributeMLIR TypeDescription
keys::mlir::ArrayAttrstring array attribute

Operands

Operand

Description

src

any type

values

variadic of any type