[LIT] Migrate runtime lit config to the internal shell (#24794) Part of #24607. This switches `runtime/lit.cfg.py` to the internal shell and removes the `execute_external` / `force_execute_external` workaround. It's the first of the seven configs listed in the issue. I'm doing one at a time so the failures stay easy to review. The internal shell has no subshells, so the `( ... )` wrappers in `flags_test.txt` were read as a command named `(` and the test died with exit 127. Two kinds of RUN lines needed fixing: - **26 lines** wrapped a single command in `( ... )` before piping to FileCheck. The subshell did nothing there, so I dropped the parentheses. - **3 lines** used `( cmd 2>&1 || [[ $? == 1 ]] )` to tolerate an expected non-zero exit. Those now use `not`, which is the usual spelling for expected-failure RUN lines and also asserts the command really does fail. `not` is declared in the suite's tools, the same way `tools/test/BUILD.bazel` does it. Same commands and same FileCheck prefixes, so no coverage is lost. ## Testing ctest -R "flags_test.txt.test|modules/check/test/(failure|success|unavailable).mlir.test All 4 tests pass on the internal shell, matching the baseline before the change. The three modules/check tests are plain pipelines and needed no edits. One thing I checked: rewriting those lines could have made them stop running while still going green. I broke an expected UNKNOWN-FLAG pattern on purpose, confirmed the test failed, then put it back. Verified on macOS/arm64 only - relying on CI for Linux and Windows. Assisted by: Claude Code Signed-off-by: Zohaib Shah <zohaib.shah.2047@gmail.com> Co-authored-by: Zohaib Shah <zohaib.shah.2047@gmail.com>
IREE (Intermediate Representation Execution Environment, pronounced as “eerie”) is an MLIR-based end-to-end compiler and runtime that lowers Machine Learning (ML) models to a unified IR that scales up to meet the needs of the datacenter and down to satisfy the constraints and special considerations of mobile and edge deployments.
See our website for project details, user guides, and instructions on building from source.
Releases notes are published on GitHub releases.
| Package | Release status |
|---|---|
| GitHub release (stable) | |
| GitHub release (nightly) | |
iree-base-compiler | |
iree-base-runtime |
For more details on the release process, see https://iree.dev/developers/general/release-management/.
| Operating system | Build status |
|---|---|
| Linux | |
| macOS |
For the full list of workflows see https://iree.dev/developers/general/github-actions/.
See our website for more information.
Community meeting recordings: IREE YouTube channel
| Date | Title | Recording | Slides |
|---|---|---|---|
| 2025-06-10 | Data-Tiling in IREE: Achieving High Performance Through Compiler Design (AsiaLLVM) | recording | slides |
| 2025-05-17 | Introduction to GPU architecture and IREE's GPU CodeGen Pipeline | recording | slides |
| 2025-02-12 | The Long Tail of AI: SPIR-V in IREE and MLIR (Vulkanised) | recording | slides |
| 2024-10-01 | Unveiling the Inner Workings of IREE: An MLIR-Based Compiler for Diverse Hardware | recording | |
| 2021-06-09 | IREE Runtime Design Tech Talk | recording | slides |
| 2020-08-20 | IREE CodeGen (MLIR Open Design Meeting) | recording | slides |
| 2020-03-18 | Interactive HAL IR Walkthrough | recording | |
| 2020-01-31 | End-to-end MLIR Workflow in IREE (MLIR Open Design Meeting) | recording | slides |
IREE is licensed under the terms of the Apache 2.0 License with LLVM Exceptions. See LICENSE for more information.