[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