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

Sjoerd Meijer via llvm-dev llvm-dev at lists.llvm.org
Tue Sep 29 01:22:58 PDT 2020


Hi Ehsan,

Evgeny uploaded our version here: https://reviews.llvm.org/D88307. He wants to address a few issues.

But yeah, if you've got one ready too, perhaps best to upload it if that's what you want to do. I guess that makes it easier to look at both and see which one would have our preference?

Cheers,
Sjoerd.


________________________________
From: Ehsan Amiri <ehsanamiri at gmail.com>
Sent: 29 September 2020 02:37
To: Sjoerd Meijer <Sjoerd.Meijer at arm.com>
Cc: Phipps, Alan <a-phipps at ti.com>; llvm-dev at lists.llvm.org <llvm-dev at lists.llvm.org>; Eli Friedman <efriedma at quicinc.com>; Evgeny Astigeevich <Evgeny.Astigeevich at arm.com>; David Green <David.Green at arm.com>
Subject: Re: [llvm-dev] Improved jump-threading in LLVM for finite state automata

Hi Sjoerd

We (at Huawei) also have a pass for this. Originally we implemented this back in 2018 and meant to upstream it, but there were some issues with the implementation that required some changes in the code. We started revising it,a few weeks ago.

I thought now that there are multiple options, maybe we can discuss our approaches, and see if there is a preference in the community for one approach over the other ? What do you think?

Thanks
Ehsan




On Wed, Sep 23, 2020 at 3:14 PM Sjoerd Meijer via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote:
And related while we are at it, i.e. the coremark specials, we have this sitting in upstream review: https://reviews.llvm.org/D42365
That should help a bit too. It needs a little bit of work, but I thought Dave didn't mind if someone commandeers and finishes it.


________________________________
From: llvm-dev <llvm-dev-bounces at lists.llvm.org<mailto:llvm-dev-bounces at lists.llvm.org>> on behalf of Sjoerd Meijer via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>>
Sent: 23 September 2020 20:03
To: Phipps, Alan <a-phipps at ti.com<mailto:a-phipps at ti.com>>; llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org> <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>>; Eli Friedman <efriedma at quicinc.com<mailto:efriedma at quicinc.com>>; Evgeny Astigeevich <Evgeny.Astigeevich at arm.com<mailto:Evgeny.Astigeevich at arm.com>>
Subject: Re: [llvm-dev] Improved jump-threading in LLVM for finite state automata

+ 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<mailto:llvm-dev-bounces at lists.llvm.org>> on behalf of Eli Friedman via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>>
Sent: 23 September 2020 19:16
To: Phipps, Alan <a-phipps at ti.com<mailto:a-phipps at ti.com>>; llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org> <llvm-dev at lists.llvm.org<mailto: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<mailto: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<mailto: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



_______________________________________________
LLVM Developers mailing list
llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200929/ef4319b2/attachment.html>


More information about the llvm-dev mailing list