<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Souper: A Synthesizing Superoptimizer · HackerPapers discussions</title><link>https://hackerpaper.kaipfister.de/p/1711.04422/</link><description>Collected HN comments and submissions linking this paper.</description><language>en</language><lastBuildDate>Mon, 02 Nov 2026 11:16:22 GMT</lastBuildDate><atom:link href="https://hackerpaper.kaipfister.de/p/1711.04422/feed.xml" rel="self" type="application/rss+xml" /><item><title>Souper: A Synthesizing Superoptimizer — mentioned by viraptor</title><link>https://news.ycombinator.com/item?id=44634800</link><guid isPermaLink="false">urn:hackerpapers:mention:1711.04422:44634800</guid><pubDate>Mon, 21 Jul 2025 13:22:59 GMT</pubDate><description>&lt;p&gt;You&amp;#x27;re missing forest for the trees and lacking information to discuss this really. Check out this paper and similar ones if you want to learn about this area: https://arxiv.org/pdf/1711.04422&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1711.04422/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Souper: A Synthesizing Superoptimizer — mentioned by muke101</title><link>https://news.ycombinator.com/item?id=42812982</link><guid isPermaLink="false">urn:hackerpapers:mention:1711.04422:42812982</guid><pubDate>Fri, 24 Jan 2025 13:50:06 GMT</pubDate><description>&lt;p&gt;If you&amp;#x27;re going to rewrite LLVM, you should avoid just trying to &amp;#x27;do it again but less bloated&amp;#x27;, because that&amp;#x27;ll end up where LLVM is now once you&amp;#x27;ve added enough features and optimisation to be competitive. Rewriting LLVM gives you the opportunity to rethink some of its main problems. Of those I think two big ones include Tablegen and peephole optimisations. The backend code for LLVM is awful, and tablegen only partially addresses the problem. Most LLVM code for defining instruction opcodes amounts to multiple huge switch statements that stuff every opcode into them, its disgusting. This…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1711.04422/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Souper: A Synthesizing Superoptimizer — mentioned by judofyr</title><link>https://news.ycombinator.com/item?id=26023833</link><guid isPermaLink="false">urn:hackerpapers:mention:1711.04422:26023833</guid><pubDate>Thu, 04 Feb 2021 08:51:29 GMT</pubDate><description>&lt;p&gt;But it has some kind of direct replacement mode, why aren&amp;#x27;t there benchmarks for that? Crickets... That&amp;#x27;s not fair. They&amp;#x27;ve published a paper which has lots of details: https://arxiv.org/pdf/1711.04422.pdf &amp;gt; Performance of the SPEC benchmarks was also unevenly affected by Souper: five become faster and seven become slower. None of the differences was very large.&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1711.04422/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Souper: A Synthesizing Superoptimizer — mentioned by rahimiali</title><link>https://news.ycombinator.com/item?id=26022376</link><guid isPermaLink="false">urn:hackerpapers:mention:1711.04422:26022376</guid><pubDate>Thu, 04 Feb 2021 03:50:58 GMT</pubDate><description>&lt;p&gt;I&amp;#x27;m not sure if I&amp;#x27;m interpreting the paper [0] correctly, but both the abstract and the quote below from the Experiments section sound like they&amp;#x27;re not going to aim for faster code, but for a meta goal (that I admit I don&amp;#x27;t understand) instead? &amp;quot;The goal is to give compiler developers actionable advice about missing optimizations. To do this, someone uses sclang to extract Souper left-hand sides from programs of interest. Since Souper finds many more optimizations than developers could reasonably implement, the crux is ranking them in such a way that desirable optimizations are found early in…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1711.04422/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Souper: A Synthesizing Superoptimizer — mentioned by CalChris</title><link>https://news.ycombinator.com/item?id=25974869</link><guid isPermaLink="false">urn:hackerpapers:mention:1711.04422:25974869</guid><pubDate>Sun, 31 Jan 2021 01:32:16 GMT</pubDate><description>&lt;p&gt;I think you meant John Regehr and his souper friends at the University of Utah. https://arxiv.org/abs/1711.04422&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1711.04422/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Souper: A Synthesizing Superoptimizer — mentioned by chrisaycock</title><link>https://news.ycombinator.com/item?id=19156884</link><guid isPermaLink="false">urn:hackerpapers:mention:1711.04422:19156884</guid><pubDate>Wed, 13 Feb 2019 20:52:36 GMT</pubDate><description>&lt;p&gt;Program synthesis [1] can be used for a variety of applications, including superoptimizers [2] and programming by example [3]. [1] https://dl.acm.org/citation.cfm?id=3208071 [2] https://arxiv.org/abs/1711.04422 [3] https://www.microsoft.com/en-us/research/wp-content/uploads/...&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1711.04422/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Souper: A Synthesizing Superoptimizer — mentioned by tom_mellior</title><link>https://news.ycombinator.com/item?id=15999373</link><guid isPermaLink="false">urn:hackerpapers:mention:1711.04422:15999373</guid><pubDate>Sun, 24 Dec 2017 13:10:59 GMT</pubDate><description>&lt;p&gt;Yes, if you use Z3 as part of a proof assistant like Isabelle/HOL or F-Star. No, if you use Z3 as part of some other system that does not have its own primitive notion of proofs and proof checking. Many tools are like this: Dafny is one, I think, as is Why3, and the Alive system for checking the correctness of LLVM peephole optimizations. They simply trust Z3. It&amp;#x27;s also used in lots of other things that are not &amp;quot;verifiers&amp;quot; as such. For example, to find new compiler optimizations by superoptimization: https://arxiv.org/abs/1711.04422 (And sure enough, if you search the paper for &amp;quot;Z3&amp;quot;, the…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/1711.04422/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Souper: A Synthesizing Superoptimizer — HN submission</title><link>https://news.ycombinator.com/item?id=15706677</link><guid isPermaLink="false">urn:hackerpapers:submission:1711.04422:15706677</guid><pubDate>Wed, 15 Nov 2017 18:58:05 GMT</pubDate><description>&lt;p&gt;Souper: A Synthesizing Superoptimizer&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;73 points; 7 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/1711.04422/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Souper: A Synthesizing Superoptimizer — HN submission</title><link>https://news.ycombinator.com/item?id=15702811</link><guid isPermaLink="false">urn:hackerpapers:submission:1711.04422:15702811</guid><pubDate>Wed, 15 Nov 2017 10:37:08 GMT</pubDate><description>&lt;p&gt;Souper: A Synthesizing Superoptimizer&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;3 points; 0 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/1711.04422/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item></channel></rss>
