These pages contain automatically generated documentation for the MLIR dialects defined in the IREE repository. IREE also makes extensive use of dialects from the upstream MLIR repository, which are documented at https://mlir.llvm.org/docs/Dialects/.
These dialects are an implementation detail of the IREE compiler, though they can be used by plugins and other advanced integrations. The sources for most of these dialects can be found in the iree/compiler/Dialect/ directory.
| Dialect | Description |
|---|---|
| Check | Defines assertions for IREE tests |
| Flow | Models execution data flow and partitioning |
| HAL | Represents operations against the IREE HAL[^1] |
| HAL/Inline | Inline HAL interop runtime module dialect |
| HAL/Loader | HAL inline executable loader runtime module dialect |
| IO/Parameters | External parameter resource management APIs |
| Stream | Model execution partitioning and scheduling |
| Util | Types and ops common across IREE subdialects |
| VM | Represents operations against an abstract virtual machine |
| VMVX | Virtual Machine Vector Extensions |
The ops in these dialects are legal to include in compiler inputs. The sources for these dialects can be found in the llvm-external-projects/iree-dialects/ directory that is designed to be used from other projects via LLVM's external projects mechanism.
| Dialect | Description |
|---|---|
| IREEInput | Structural ops legal as input to IREE's compiler |
| IREELinalgExt | Extensions to the Linalg dialect for specific operations |
| IREEVectorExt | Extensions to the Vector dialect for specific operations |
[^1]: Hardware Abstraction Layer