Lines Matching full:operations

23 pre-defined instructions (*operations* in MLIR terminology) or types.
30 closed set of attributes (think: constant metadata), operations, or types. MLIR
35 In MLIR, [`Operations`](../../LangRef.md/#operations) are the core unit of
37 Operations can have application-specific semantics and can be used to represent
41 Here is the MLIR assembly for the Toy `transpose` operations:
54 will limit ourselves to single-result operations), which are SSA values.
67 values defined by other operations or referring to block arguments.
87 the set of operations in MLIR is extensible. Operations are modeled
88 using a small set of concepts, enabling operations to be reasoned
99 - A list of [regions](../../LangRef.md/#regions) (for structural operations
118 MLIR is designed to allow all IR elements, such as attributes, operations, and
133 In the cases of unregistered attributes, operations, and types, MLIR will
139 systems. Unregistered operations must be treated conservatively by
154 section, we will register our dialect and operations with MLIR, plug into the
155 verifier, and add nicer APIs to manipulate our operations.
165 /// mlir::Dialect and registers custom attributes, operations, and types. It can
176 /// register attributes, operations, types, and more within the Toy dialect.
191 // can define our operations.
232 ## Defining Toy Operations
234 Now that we have a `Toy` dialect, we can start defining the operations. This
280 /// Operations may provide additional verification beyond what the attached
291 /// operations. This state is a collection of all of the discrete elements
313 ### Op vs Operation: Using MLIR Operations
316 In MLIR, there are two main classes related to operations: `Operation` and `Op`.
317 The `Operation` class is used to generically model all operations. It is
319 operations or types of operations. Instead, the `Operation` class provides a
325 properties of operations. This means that when we define our Toy operations, we
353 defining operations in a declarative manner. This is achieved via the
354 [Operation Definition Specification](../../DefiningDialects/Operations.md) framework. Facts
357 compile time. Using the ODS framework is the desired way for defining operations
363 Operations in ODS are defined by inheriting from the `Op` class. To simplify our
364 operation definitions, we will define a base class for operations in the Toy
368 // Base class for toy dialect operations. This operation inherits from the base
382 [mnemonic](../../DefiningDialects/Operations.md/#operation-name) here matches the one given in
408 [inputs](../../DefiningDialects/Operations.md/#operation-arguments) and
409 [outputs](../../DefiningDialects/Operations.md/#operation-results) to our operation. The
432 The next step after defining the operation is to document it. Operations may
434 [`summary` and `description`](../../DefiningDialects/Operations.md/#operation-documentation)
442 // auto-generate documentation of the operations within our dialect.
471 necessary for ODS operations. To add additional verification logic, an operation
472 can override the [`verifier`](../../DefiningDialects/Operations.md/#custom-verifier-code)
480 // auto-generate documentation of the operations within our dialect.
513 [`builders`](../../DefiningDialects/Operations.md/#custom-builder-methods) field. This field
523 // the `state` that MLIR uses to create operations, i.e. these are used when
582 One thing to notice here is that all of our Toy operations are printed using the
584 `toy.transpose` at the beginning of this chapter. MLIR allows for operations to
586 [declaratively](../../DefiningDialects/Operations.md/#declarative-assembly-format) or
658 [declarative format](../../DefiningDialects/Operations.md/#declarative-assembly-format). The
684 The [declarative format](../../DefiningDialects/Operations.md/#declarative-assembly-format) has
686 custom format in C++. After beautifying the format of a few of our operations we
710 Above we introduce several of the concepts for defining operations in the ODS
713 [full specification](../../DefiningDialects/Operations.md) for more details.
724 At this point, MLIR knows about our Toy dialect and operations. In the