~/talk

Hydra: Generalizing Peephole Optimizations with Program Synthesis

Talkat OOPSLA 2024 · 2024-10-20..10-25· [compilers-and-language-design]
links:none on file
slides:none on file

Hydra uses program synthesis to turn specific superoptimizer rewrites into width-independent rules by synthesizing symbolic constants, dataflow preconditions and type assignments through three synthesis loops; it reduces bitwidths to 2–8 bits to brute-force model counting and speed up SMT queries. Hydra generalizes about 75% of the ungeneralized missed peephole optimizations from LLVM’s issue tracker, formally verifies every generated rewrite with Alive2 and automatically generates LLVM C++ suitable for instcombine.

AI-written summary · about

  1. 0:00Hydra and program synthesis
  2. 2:08Peephole optimizations overview
  3. 3:57Manual optimization limits
  4. 4:40Synthesis steps for optimizations
  5. 6:25Valid preconditions for optimizations
  6. 8:11Width independence in optimizations
  7. 10:19Handling constants in optimizations
  8. 12:05Symbolic data flow in optimizations
  9. 13:31Hydra’s optimization impact
  10. 14:55Hydra vs LLVM instcombine
  11. 15:57Q&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.