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

Paulo Matos via llvm-dev llvm-dev at lists.llvm.org
Wed Feb 17 03:54:12 PST 2021


Hi Wei,

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

Wei Wu (吴伟) via llvm-dev writes:

> 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>
> 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>
>
>
> 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 (吴伟)


-- 
Paulo Matos


More information about the llvm-dev mailing list