Thu 24 Oct 2024 13:40 - 14:00 at San Gabriel - Compilers and Optimisation 2 Chair(s): Manu Sridharan

Optimizing compilers rely on peephole optimizations to simplify combinations of instructions and remove redundant instructions. Typically, a new peephole optimization is added when a compiler developer notices an optimization opportunity—a collection of dependent instructions that can be improved—and manually derives a more general rewrite rule that optimizes not only the original code, but also other, similar collections of instructions. In this paper, we present Hydra, a tool that automates the process of generalizing peephole optimizations using a collection of techniques centered on program synthesis. One of the most important problems we have solved is finding a version of each optimization that is independent of the bitwidths of the optimization’s inputs (when this version exists). We show that Hydra can generalize 75% of the ungeneralized missed peephole optimizations that LLVM developers have posted to the LLVM project’s issue tracker. All of Hydra’s generalized peephole optimizations have been formally verified, and furthermore we can automatically turn them into C++ code that is suitable for inclusion in an LLVM pass.

Thu 24 Oct

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

13:40 - 15:20
Compilers and Optimisation 2OOPSLA 2024 at San Gabriel
Chair(s): Manu Sridharan University of California at Riverside
13:40
20m
Talk
Hydra: Generalizing Peephole Optimizations with Program Synthesis
OOPSLA 2024
Manasij Mukherjee NVIDIA, John Regehr University of Utah
DOI Pre-print
14:00
20m
Talk
Minotaur: A SIMD-Oriented Synthesizing SuperoptimizerOOPSLA 2024 Distinguished Paper Award
OOPSLA 2024
Zhengyang Liu University of Utah, Stefan Mada University of Utah, John Regehr University of Utah
DOI
14:20
20m
Talk
PolyJuice: Detecting Mis-Compilation Bugs in Tensor Compilers with Equality Saturation Based Rewriting
OOPSLA 2024
Chijin Zhou Tsinghua University, Bingzhou Qian National University of Defense Technology, Gwihwan Go Tsinghua University, Quan Zhang Tsinghua University, Shanshan Li National University of Defense Technology, Yu Jiang Tsinghua University
DOI
14:40
20m
Talk
SparseAuto: An Auto-Scheduler for Sparse Tensor Computations Using Recursive Loop Nest Restructuring
OOPSLA 2024
Adhitha Dias Purdue University, USA, Logan Anderson Purdue University, Kirshanthan Sundararajah Virginia Tech, Artem Pelenitsyn Purdue University, Milind Kulkarni Purdue University
DOI Pre-print
15:00
20m
Talk
Understanding and Finding Java Decompiler Bugs
OOPSLA 2024
Yifei Lu Nanjing University, Weidong Hou Nanjing University, Minxue Pan Nanjing University, Xuandong Li Nanjing University, Zhendong Su ETH Zurich
DOI