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

Nuno Lopes via llvm-dev llvm-dev at lists.llvm.org
Wed Feb 17 02:29:53 PST 2021


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>


More information about the llvm-dev mailing list