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.
Nuno
From: Wei Wu
Sent: 17 February 2021 09:54
To: llvm-dev <llvm...@lists.llvm.org>
Subject: [llvm-dev] Fwd: Superoptimization for RISC-V: What is the state of the art now?
That’s the one, yes.
They did some work on RISC-V; they should have a spec lying around somewhere. Ask Emina.
e.g. https://unsat.cs.washington.edu/papers/geffen-jitsynth.pdf
Nuno
Back in 2018 I worked in a commercial superoptimizer for RISCV - S10,
which I presented as a poster in the RISCV Workshop in Barcelona:
https://youtu.be/ylTA63vPHYU?t=1969
https://linki.tools/s10.html
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:
https://github.com/mangpo/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.
--
Paulo Matos
--
Paulo Matos
_______________________________________________
LLVM Developers mailing list
llvm...@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev