Write a Blog >>
CC 2022
Tue 5 - Wed 6 April 2022 Online conference
Tue 5 Apr 2022 13:05 - 13:20 at CC Virtual Room - Session 2: Compiler Theory Chair(s): EunJung (EJ) Park

Term Rewriting Systems (TRSs) are used in compilers to simplify and prove expressions. State-of-the-art TRSs in compilers use a greedy algorithm that applies a set of rewriting rules in a predefined order (where some of the rules are not axiomatic). This leads to a loss of the ability to simplify certain expressions. E-graphs and equality saturation sidestep this issue by representing the different equivalent expressions in a compact manner from which the optimal expression can be extracted. While an e-graph-based TRS can be more powerful than a TRS that uses a greedy algorithm, it is slower because expressions may have a large or sometimes infinite number of equivalent expressions. Accelerating e-graph construction is crucial for making the use of e-graphs practical in compilers. In this paper, we present Caviar, an e-graph-based TRS for proving expressions within compilers. The main advantage of Caviar is its speed. It can prove expressions much faster than base e-graph TRSs. It relies on three techniques: 1) a technique that stops e-graphs from growing when the goal is reached, called Iteration Level Check; 2) a mechanism that balances exploration and exploitation in the equality saturation algorithm, called Pulsing Caviar; 3) a technique to stop e-graph construction before reaching saturation when a non-provable pattern is detected, called Non-Provable Patterns Detection (NPPD). We evaluate caviar on Halide, an optimizing compiler that relies on a greedy-algorithm-based TRS to simplify and prove its expressions. The proposed techniques allow Caviar to accelerate e-graph expansion for the task of proving expressions. They also allow Caviar to prove expressions that Halide’s TRS cannot prove while being only 0.68x slower. Caviar is publicly available at: https://github.com/caviar-trs/caviar.

Tue 5 Apr

Displayed time zone: Eastern Time (US & Canada) change

12:50 - 13:50
Session 2: Compiler TheoryCC Research Papers at CC Virtual Room
Chair(s): EunJung (EJ) Park Qualcomm, USA
12:50
15m
Paper
Graph Transformations for Register-Pressure-Aware Instruction Scheduling
CC Research Papers
Ghassan Shobaki California State University, Sacramento, Justin Bassett California State University Sacramento, Mark Heffernan Google, Austin Kerbow AMD
DOI
13:05
15m
Paper
Caviar: An E-Graph Based TRS for Automatic Code Optimization
CC Research Papers
Smail Kourta New York University Abu Dhabi, Adel Abderahmane NAMANI , Fatima Benbouzid-Si Tayeb École nationale supérieure d'informatique, Kim Hazelwood Facebook, Chris Cummins Facebook, Hugh Leather Facebook, Riyadh Baghdadi NYU Abu Dhabi
DOI
13:20
15m
Paper
On the Computation of Interprocedural Weak Control Closure
CC Research Papers
Abu Naser Masud Malardalen University, Bjorn Lisper Malardalen University
DOI
13:35
15m
Paper
Seamless Deductive Inference via MacrosArtifacts Evaluated – Reusable v1.1Artifacts Available v1.1Results Reproduced v1.1
CC Research Papers
Arash Sahebolamri , Thomas Gilray University of Alabama at Birmingham, Kristopher Micinski Syracuse University
DOI