[PATCH] D88307: [DON'T MERGE] Jump-threading for finite state automata

Evgeny Astigeevich via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 21 16:56:09 PDT 2020


eastig added a comment.

In D88307#2342917 <https://reviews.llvm.org/D88307#2342917>, @eastig wrote:

> In D88307#2340132 <https://reviews.llvm.org/D88307#2340132>, @alanphipps wrote:
>
>> @eastig I tried this experimental patch in our system, and it definitely brings highly significant improvement to coremark.  When do you expect to post a version for reviewing -- what will the differences be?
>
> Hi Alan,
> Thank you for the feedback. I need to get an approval from my current employer to continue working on the patch. I'll keep you posted.

Hi Alan,
Good news. I've got an approval. I cannot say when I post the updated version. I've just started a new job and are completely busy. I don't work anymore at Arm.
The differences will be:

1. SSAUpdaterBulk will be used to remove custom code restoring SSA. This will reduce amount of code.
2. The analyze-then-transform approach rather than the iterative approach. This allows to remove some crazy heuristics.
3. SelectInstrs are unfolded only if needed.
4. Some constants can be involved into cmp+br. As a result they cannot reach the switch. This causes copied basic blocks which are not needed.
5. Basic blocks common for some threading opportunities will not be copied if possible.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D88307



More information about the llvm-commits mailing list