
Souper: A Synthesizing Superoptimizer - matt_d
https://arxiv.org/abs/1711.04422
======
chrisaycock
Here is the source code:

[https://github.com/google/souper](https://github.com/google/souper)

The paper mentions that Souper links against LLVM 3.9, but a recent commit on
GitHub states that dependencies have been bumped to LLVM 5.0, the most recent
version.

~~~
CalChris
The Souper source has been available and Regehr has posted on his Embedded in
Academia blog several times about Souper.

[https://blog.regehr.org/archives/1192](https://blog.regehr.org/archives/1192)

[https://blog.regehr.org/archives/1252](https://blog.regehr.org/archives/1252)

But then a paper is a whole nuther thing.

------
thechao
Just by reading the HN title I was 90% sure this had to be John Regehr. The
man’s a monster!

------
amelius
The abstract is not very clear, if you ask me. I would have expected at least
an indication of the usefulness of this optimizer in terms of resulting speed,
or an indication of how far we are from using this technique in production
settings.

~~~
chubot
_If we can automatically derive compiler optimizations, we might be able to
sidestep some of the substantial engineering challenges involved in creating
and maintaining a high-quality compiler_

I think it's clear, but you may have assumed it's about something it's not?
It's about saving effort in writing an optimizing compiler. Have you ever
looked at how many and how big LLVM's optimization passes are?

The automatically derived passes may not result in code that's as fast as the
hand-written passes. I assume they would have mentioned that if it were the
case. But they take less effort to develop.

------
lcurrit
Score one for me misreading titles again. I was looking forward to finding out
what a Soup Optimizer could do for me. Sounds life-changing.

