Evaluating Souper: A Synthesizing Superoptimizer
E.B. Demir (TU Delft - Electrical Engineering, Mathematics and Computer Science)
S.S. Chakraborty – Mentor (TU Delft - Programming Languages)
D.G. Sprokholt – Mentor (TU Delft - Programming Languages)
Emir Demirović – Graduation committee member (TU Delft - Algorithmics)
More Info
expand_more
Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.
Abstract
Modern compilers exploit syntax \& semantics to optimize input programs.
Often such optimization rules are arduous to get right and the output is not guaranteed to be globally optimal.
Superoptimizers take a different approach to this problem by traversing the program space.
This study focuses on Souper, a synthesizing superoptimizer which makes use of an enhanced counter-example-guided inductive synthesis loop to find optimizations.
We first detail the working mechanism of the superoptimizer and its components, then we explain our attempts at reproducing the results mentioned by Souper's authors.
Finally, we give three program classes each exercising different aspects of the superoptimizer and how these are useful in gaining insight into Souper's optimization capabilities and use cases.