[PATCH] D124394: [DFAJumpThreading] Relax analysis to handle unpredictable initial values

Alexey Zhikhartsev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon May 16 08:43:24 PDT 2022


alexey.zhikhar added a subscriber: jaykang10.
alexey.zhikhar added a comment.

@SjoerdMeijer @jaykang10

Hi Sjoerd and JinGu, I remember from your comments on the initial DFAJumpThreading patch, that you guys are interested in the opportunities in SPEC2017 perlbench. I wanted to let you know that this patch introduces a limit on the number of threaded paths per switch. The limit is 200 paths, that means that if a switch has 1,000 potential path candidates, only 200 of them will get threaded, the rest of them will circle back to the switch instruction the usual way. The thing is that perlbench has several switches optimized by DFAJumpThreading, and a couple of them have the number of paths above the limit (in the thousands). Due to the limit, these switches are threaded partially, which might lead to performance regressions.

Initially I wanted to check whether this patch leads to a regression in perlbench myself but I don't see any performance gains from DFAJumpThreading on perlbench even before introducing the limit, so I don't know which switches you guys are interested in. To be sure that this patch doesn't slow down perlbench for you, please experiment with it on your end, thanks.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D124394/new/

https://reviews.llvm.org/D124394



More information about the llvm-commits mailing list