EGRAPHS Community

DialEgg: Dialect-Agnostic MLIR Optimizer using Equality Saturation with Egglog

2025-08-21

Talk begins at 9am PT on Zoom. The Zoom link will be distributed on the EGRAPHS Zulip just in time for each session.

Aziz will present his work on combining equality saturation and MLIR.

Abstract

MLIR’s ability to optimize programs at multiple levels of abstraction is key to enabling domain-specific optimizing compilers. However, expressing optimizations remains tedious. Optimizations can interact in unexpected ways, making it hard to unleash full performance. Equality saturation promises to solve these challenges. First, it simplifies the expression of optimizations using rewrite rules. Secondly, it considers all possible optimization interactions, through saturation, selecting the best program variant. Despite these advantages, equality saturation remains absent from production compilers such as MLIR. This paper proposes to integrate Egglog, a recent equality saturation engine, with MLIR, in a dialect-agnostic manner. This paper shows how the main MLIR constructs such as operations, types or attributes can be modeled in Egglog. It also presents DialEgg, a tool that pre-defines a large set of common MLIR constructs in Egglog and automatically translates between the MLIR and Egglog program representations. This paper uses a few use cases to demonstrate the potential for combining equality saturation and MLIR.

Bio

Aziz completed his undergraduate degree in Software Engineering in ECE at McGill University and is now pursuing a master’s degree under the supervision of Prof. Christophe Dubach. His current interests are compiler optimization using equality saturation.