[llvm-dev] Fwd: Superoptimization for RISC-V: What is the state of the art now?

Nuno Lopes via llvm-dev
Wed, 17 Feb 2021 10:29:53 -0000

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-dev at lists.llvm.org>
Subject: [llvm-dev] Fwd: Superoptimization for RISC-V: What is the state of the
art now?



Hi all,



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.)



---------- Forwarded message ---------
From: Wei Wu (吴伟) <lazyparser at gmail.com <mailto:lazyparser at
gmail.com> >
Date: Wed, Feb 17, 2021 at 12:26 PM
Subject: Superoptimization for RISC-V: What is the state of the art now?
To: RISC-V SW Dev <sw-dev at groups.riscv.org <mailto:sw-dev at
groups.riscv.org> >



Hi all,



In the last code optimization meeting (formly code-size-reduction and
code-speed-opt), the idea of using superoptimization[4] for RISC-V had been
discussed. I'm interested in this area. After a quick search I found very
few results, though. GNU/Embecosm had a superopt [1] but I am not sure it still
works either for GCC 10 or RISC-V backend. Google open sourced a LLVM-IR level
tool named souper[2] would help. STOKE[3] is yet another optimizer which targets
x86 only.



I appreciate it if you can drop some information/papers/open source project urls
that are related to superoptimization. I am going to stand on the basis of
gnu-superopt[1], and not sure it is the right/effective way to go.



Thanks.



[1] https://github.com/embecosm/gnu-superopt

[2] https://github.com/google/souper

[3] https://github.com/StanfordPL/stoke

[4] https://en.wikipedia.org/wiki/Superoptimization



--

Best wishes,
Wei Wu (吴伟)

-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20210217/5e125df0/attachment.html>