[llvm-dev] Improved jump-threading in LLVM for finite state automata

Sjoerd Meijer via llvm-dev llvm-dev at lists.llvm.org
Wed Sep 23 12:03:56 PDT 2020


+ Evgeny

We have a jump threading pass downstream for this that we would love to upstream. I believe Evgeny was working on exactly this, i.e. preparing it for upstreaming.

________________________________
From: llvm-dev <llvm-dev-bounces at lists.llvm.org> on behalf of Eli Friedman via llvm-dev <llvm-dev at lists.llvm.org>
Sent: 23 September 2020 19:16
To: Phipps, Alan <a-phipps at ti.com>; llvm-dev at lists.llvm.org <llvm-dev at lists.llvm.org>
Subject: Re: [llvm-dev] Improved jump-threading in LLVM for finite state automata


Nobody is currently working on this, as far as I know.  If you’re interested in looking into it, I’ll try to answer any questions.



-Eli



From: llvm-dev <llvm-dev-bounces at lists.llvm.org> On Behalf Of Phipps, Alan via llvm-dev
Sent: Wednesday, September 23, 2020 7:34 AM
To: llvm-dev at lists.llvm.org
Subject: [EXT] [llvm-dev] Improved jump-threading in LLVM for finite state automata



It is my understanding that the implementation for jump-threading in LLVM is not presently able to effectively optimize code containing a state-machine implemented using a loop + switch.  This is the case, for example, with the Coremark benchmark function core_state_transition().  Bug 42313 was filed to address this in 2019:



https://bugs.llvm.org/show_bug.cgi?id=42313



It appears that GCC improved support for jump threading in 2015 along the same lines:



https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54742



Is anyone aware of any plan to do improve LLVM jump-threading along the same lines for LLVM?



Thanks!



Alan Phipps


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200923/9bc8b75c/attachment.html>


More information about the llvm-dev mailing list