Hacker GitHub

← All repos

google/souper

View on GitHub ↗ ★ 2,384 C++ archived

A superoptimizer for LLVM IR

30 mentions on Hacker News by 24 people: 5 stories, 25 comments · first 2015-03-02 · latest 2025-08-03

Mentions per year 30 mentions · busiest year 2020 (8)
20082026
  1. …There are papers like https://people.cs.rutgers.edu/~sn349/papers/cgo19-casmverify... There's https://github.com/google/souper There's https://cr.yp.to/papers/symexemu-20250505.pdf And probably other things I'm not aware of. If you're…
  2. …from the beginning. Look into the Souper paper which automatically generates peepholes for LLVM: ( https://github.com/google/souper , https://arxiv.org/pdf/1711.04422.pdf ). Lastly as I hate C++ I have to throw in an obligatory suggestion…
    comment by muke101 · 2025-01-24 · in Tilde, My LLVM Alternative
  3. https://github.com/google/souper It looks like it only supports Linux and macOS - no Windows, but no other things too like mobile. It seems it exists for ten years, I wonder what optimizations aren't still picked by the recent compilers.
  4. https://github.com/google/souper > Souper is a superoptimizer for LLVM IR. It uses an SMT solver to help identify missing peephole optimizations in LLVM's midend optimizers.
  5. …pruning part can do a lot of heavy lifting to make it a practical tool. Related: I work on Souper ( https://github.com/google/souper ). Feel free to reach out if anyone has questions!
    comment by manasij7479 · 2023-05-29 · in My first superoptimizer
  6. If anyone's interested in non-toy usage, there's the souper project as well https://github.com/google/souper It's a shame it's a bit hard to actually build these days. Its target is people working on compilers, not end users. But there are…
    comment by viraptor · 2023-05-29 · in My first superoptimizer
  7. Google's one step ahead of you there :) https://github.com/google/souper
  8. https://github.com/google/souper
  9. …similar optimizers exist for assembly generation, so you can throw that in as another pass. [0] https://github.com/google/souper
    comment by the8472 · 2020-11-11 · in Exploring PGO for the Rust Compiler
  10. What about superoptimization? For instance, Stoke ( http://stoke.stanford.edu/ ) or Souper ( https://github.com/google/souper ). They will not find all optimizations of course, and program equivalence is undecidable indeed, but they are a…
    comment by programLyrique · 2020-08-13 · in Can we do better than our C compiler?
  11. …to compilation problems: instruction selection and superoptimization[1] come to mind. [1]: https://github.com/google/souper
    comment by woodruffw · 2020-07-31 · in Kissat SAT Solver
  12. Souper does something like that with IR optimization. https://github.com/google/souper
  13. …"more optimizations" do not necessarily mean "faster code" like you seem tobe suggesting. [0]: https://github.com/google/souper [1]: https://github.com/rust-lang/rust/blob/master/src/rustllvm/P...
    comment by fluffything · 2020-05-11 · in Make LLVM Fast Again
  14. …this sequence of statements". --- Identification of missing optimizations in the LLVM backend. https://github.com/google/souper
  15. https://github.com/google/souper
  16. I struggled to find it on my phone, so here is a link. Souper is a LLVM optimizer; https://github.com/google/souper
    comment by jononor · 2019-02-06 · in Programming the Z3 SMT solver
  17. Here is the source code: 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.
    comment by chrisaycock · 2017-11-15 · in Souper: A Synthesizing Superoptimizer
  18. …Google's Souper uses an SMT solver (like Z3) to make LLVM peephole optimizations. https://github.com/google/souper Alternatively, Alive allows users to specify rewrite rules for peephole optimizations. The rules are verified with Z3 and the
  19. …and JITs. For an example of the kind of logical problem optimizers solve you can take a look at: https://github.com/google/souper . So I don't see how you can take the current neural nets and get them to design a more efficient CPU…
  20. …they find for later use, such as [2] [1] https://en.wikipedia.org/wiki/Superoptimization [2] https://github.com/google/souper
    comment by Franciscouzo · 2016-11-29 · in Beating the Compiler
  21. souper: https://github.com/google/souper
    comment by jfbastien · 2016-11-20 · in Learning to Superoptimize Programs
  22. …commit was in January. Anyone know what the current state of super optimization compilers is? [0] https://github.com/google/souper
    comment by davidrusu · 2016-04-07 · in Superoptimizing LLVM (2014) [video]
  23. …a look at Souper. I believe it's got slightly different approach, but the same idea / result. ( https://github.com/google/souper ) Actually I'm a bit disappointed that none of the papers references it (did a quick text search only).
  24. …[3]: http://dom.as/2009/07/27/profile-guided-optimization-with-gc... [4]: https://github.com/google/souper
    comment by zamalek · 2015-10-30 · in Random Acts of Optimization
  25. If someone wants to try a real superoptimizer right now, there's the souper ( https://github.com/google/souper ) project which does this for LLVM IR code. Although the goal seems to be slightly different: "It uses an SMT solver to help…
    comment by viraptor · 2015-03-02 · in Superoptimizing Compilers