I appreciate it if you can drop some information/papers/open source project urls that are related to superoptimization. Although I am targeting RISC-V ISA, there might be some other research works / open source projects available in the LLVM community.
(Sorry for the duplicate email.)
STOKE & Souper are the most well supported & maintained superoptimization tools out there. They are very different: STOKE does genetic search, while Souper uses only SMT solvers for (symbolic) search.
There’s also Rosette, which does a hybrid of concrete & symbolic search (mixing concrete search with other techniques seems to be the way to go).
I would also look at the SyGuS competition (syntax-guided synthesis). These tools, such as CVC4, can be used for superoptimization as well.
In terms of tools, I think that’s it. In terms of papers, there are plenty of research groups working on synthesis in general.
Thanks! The SyGuS is fresh to me. I’ll check them out.
I searched Rosette and got lots of food results, and I hope this rosette is the right one:
Please correct me if I looked at the wrong repo.
That’s the one, yes.
They did some work on RISC-V; they should have a spec lying around somewhere. Ask Emina.
Back in 2018 I worked in a commercial superoptimizer for RISCV - S10,
which I presented as a poster in the RISCV Workshop in Barcelona:
To be fair, this was mostly used for consultancy into specific hot code
blocks. Since then I moved on to other things but still hold a keen
interest in Superoptimization.
S10 was built upon greenthumb:
I have been meaning to open source S10 but writing the documentation,
cleaning up the code, etc is taking quite a bit of time although it's
one of my priorities for 2021.
In any case, if you want to know more or if I can help any further, feel
free to drop me an email.
I am really excited to know that you are planning to open source S10!