~/talk

HEC: Equivalence Verification Checking for Code Transformation via Equality...

Talkat USENIX ATC '25 · 2025-07-07..07-09· [compilers-and-language-design]
name:Jiaqi Yin
links:none on file
name:Zhan Song
links:none on file
links:none on file
links:none on file
name:Cunxi Yu
links:none on file
slides:none on file

HEC introduces a concrete equivalence checker that leverages an e-graph backend on MLIR, combining over 60 static rewrite rules with generated dynamic rewrite rules checked by three SMT solvers to handle both datapath and control‑flow transforms. It verifies loop unrolling, tiling, fusion across PolyBenchC, processes ~100,000 lines of MLIR in ~40 minutes, and finds two real mlir-opt bugs: a loop boundary check that causes extra executions during unrolling and a read‑after‑write violation from loop fusion. HEC PolyBenchC

AI-written summary · about

  1. 0:00HEC introduction
  2. 1:02Compiler verification challenges
  3. 2:26Data/control flow examples
  4. 3:53Limitations of tools
  5. 4:59Egraphs in equivalence
  6. 6:03HEC framework
  7. 7:27Static data rewriting
  8. 8:52Dynamic control rules
  9. 9:56Loop tiling rules
  10. 10:18Egraph verification process
  11. 11:20Formal guarantees
  12. 12:04Experimental results
  13. 13:51MR compiler bug
  14. 14:54Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.