Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Super-optimizers always strike me with the same feeling when seeing examples like this. On the one hand, it's awesome to be able to have truly-optimal (under chosen assumptions) code sequences for certain operations. On the other hand, so many of the examples just hammer home how many missed practical opportunities there are for peephole optimizations (in this case) and other traditional, local optimization techniques. I almost feel like the most valuable use of a super-optimizer would be to run it against a bunch of real world code patterns, and then use the optimization results to feed back in to simple traditional optimizations.


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.


The posted paper is by John, as well as Souper!



That is in fact what they're usually used for.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: