Lines Matching defs:MLIR

1 # Chapter 2: Emitting Basic MLIR
5 Now that we're familiar with our language and the AST, let's see how MLIR can
21 infrastructure to support the need for these analyses and transformation. MLIR
23 pre-defined instructions (*operations* in MLIR terminology) or types.
25 ## Interfacing with MLIR
29 MLIR is designed to be a completely extensible infrastructure; there is no
30 closed set of attributes (think: constant metadata), operations, or types. MLIR
35 In MLIR, [`Operations`](../../LangRef.md/#operations) are the core unit of
41 Here is the MLIR assembly for the Toy `transpose` operations:
47 Let's break down the anatomy of this MLIR operation:
87 the set of operations in MLIR is extensible. Operations are modeled
102 In MLIR, every operation has a mandatory source location associated with it.
104 MLIR, the location is a core requirement, and APIs depend on and manipulate it.
118 MLIR is designed to allow all IR elements, such as attributes, operations, and
120 the above fundamental concepts. This allows MLIR to parse, represent, and
133 In the cases of unregistered attributes, operations, and types, MLIR will
135 are completely opaque. For instance, MLIR has little information about whether
154 section, we will register our dialect and operations with MLIR, plug into the
159 To effectively interface with MLIR, we will define a new Toy dialect. This
181 This is the C++ definition of a dialect, but MLIR also supports defining
271 /// Provide the unique name for this operation. MLIR will use this to register
290 /// This method populates the given `state` that MLIR uses to create
313 ### Op vs Operation: Using MLIR Operations
316 In MLIR, there are two main classes related to operations: `Operation` and `Op`.
331 value* is a common idiom in MLIR and applies similarly to attributes, types,
352 In addition to specializing the `mlir::Op` C++ template, MLIR also supports
358 in MLIR given the simplicity, conciseness, and general stability in the face of
523 // the `state` that MLIR uses to create operations, i.e. these are used when
584 `toy.transpose` at the beginning of this chapter. MLIR allows for operations to
724 At this point, MLIR knows about our Toy dialect and operations. In the