E-Graphs as a Persistent Compiler Abstraction

📅 2026-02-18
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Traditional compilers face limitations in applying equality saturation–based optimizations due to their reliance on a single abstraction level and their inability to preserve discovered equivalences across subsequent compiler transformations, leading to phase-ordering problems. This work proposes natively embedding e-graphs into the compiler’s intermediate representation (IR), introducing eqsat as a first-class dialect within MLIR. This design enables the persistent maintenance of equality saturation state throughout the compilation pipeline and supports interleaved execution with other transformations. Implemented within the xDSL framework, the approach unifies equality saturation optimization across multiple IR abstraction levels, significantly enhancing both the power and flexibility of compiler optimizations.

Technology Category

Application Category

📝 Abstract
Recent algorithmic advances have made equality saturation an appealing approach to program optimization because it avoids the phase-ordering problem. Existing work uses external equality saturation libraries, or custom implementations that are deeply tied to the specific application. However, these works only apply equality saturation at a single level of abstraction, or discard the discovered equalities when code is transformed by other compiler passes. We propose an alternative approach that represents an e-graph natively in the compiler's intermediate representation, facilitating the application of constructive compiler passes that maintain the e-graph state throughout the compilation flow. We build on a Python-based MLIR framework, xDSL, and introduce a new MLIR dialect, eqsat, that represents e-graphs in MLIR code. We show that this representation expands the scope of equality saturation in the compiler, allowing us to interleave pattern rewriting with other compiler transformations. The eqsat dialect provides a unified abstraction for compilers to utilize equality saturation across various levels of intermediate representations concurrently within the same MLIR flow.
Problem

Research questions and friction points this paper is trying to address.

equality saturation
compiler optimization
e-graph
intermediate representation
phase-ordering problem
Innovation

Methods, ideas, or system contributions that make the work stand out.

e-graph
equality saturation
MLIR
compiler intermediate representation
eqsat dialect
🔎 Similar Papers
No similar papers found.